Как связать несколько файлов CSS и JS в нашем проекте, не упоминая об этом в каждом другом файле - PullRequest
1 голос
/ 11 июня 2019

Мой проект на angularjs и php.Меня поместили в проект, который ранее выполнялся группой из 3 человек, и документация не была ясной.Из этого кода я вижу, что всякий раз, когда я объявляю любой класс или идентификатор начальной загрузки без явной ссылки на него в этом html-файле

Например:

<html>
<head>
<title>some title</title>
<!-- No CSS file linked here -->
</head>
<body>
<button class="btn btn-primary">Here</button>
</body>

Для вышеуказанных классов начальной загрузки документа "btn btn-первичные ».Тем не менее, они включили этот файл начальной загрузки в папку с именем «css», но НЕ включали / не импортировали этот файл в этот HTML-файл.

Как мой HTML-файл узнал, где искать подходящий файл CSS?Поиск все доступные файлы CSS?Это хорошая практика, или мне нужно это изменить?

, когда я иду на проверку -> sources

<html lang="en" ng-app="quiz">
<head>
   <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
 <link rel="stylesheet" href="css/bootstrap.min.css">
 <script src="js/jquery-3.2.1.slim.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="script/angular.min.js"></script>

    <script src="script/angular-route.min.js"></script>
    <script src="app.js"></script>
    <script src="controllers/displayController.js"></script>
     <script src="controllers/quizController.js"></script>
     <script src="controllers/welcomeController.js"></script> 
    <script src="controllers/csvController.js"></script>
    <script src="controllers/loginController.js"></script>
     <script src="controllers/adminController.js"></script>
    <style>
    body
        {    
   background-color: bisque;

   background-repeat: no-repeat;
   background-size: cover;
    /*border: 1px solid red;*/
} 
    </style>
    </head>

    <body>
        <div ng-view>
    </div>
    </body>
</html>

Это html по умолчанию для каждой страницы, теперь, если я добавлю что-нибудь другое.js (в js-файле) или .css (в css-файле) здесь не отображается или добавляется в мой html.Это стало замечаться, когда я добавил файл HTML2CANVAS для одного конкретного html-файла и в консоли говорится «html2canvas не определен»

Редактировать:

Спасибо за помощьJkAlombro, я обнаружил, что в этом проекте используется угловой маршрутизатор ($routeprovider), поэтому я проследил файл html по умолчанию (в данном случае index.html) и добавил свои сценарии js и ссылки css.Чтобы узнать, использует ли ваш проект $routeprovider, перейдите в файл app.js и проверьте наличие app.config(function($routeProvider).Просто так кому-нибудь поможет.

Ответы [ 2 ]

0 голосов
/ 12 июня 2019

Создайте общий файл верхнего и нижнего колонтитула.Включите все ваши CSS-файлы в верхний колонтитул и javaScript-файл в нижний колонтитул.

например: header.file - только нажмите здесь ваш контент - footer.file

  • Таким образом, CSS и JS будутбыть общим для каждого другого файла.
0 голосов
/ 11 июня 2019

Причина, по которой вы не можете видеть импорт css / js в другие ваши HTML-файлы, заключается в том, что это приложение использует угловой маршрутизатор (наиболее вероятно $routeProvider), и я могу подтвердить это в вашем HTML-файле индекса.

Видите, что <div ng-view> в вашем индексе?Вот где все ваши другие HTML-файлы отображаются в зависимости от того, на какой маршрут указывает.Другими доказательствами того, что вы используете угловой маршрутизатор, является этот скрипт

<script src="script/angular-route.min.js"></script>

Почему вам не нужно импортировать ваши CSS и JS в оставшуюся часть HTML-файла?

Поскольку все отображается в вашем index.html (или как называется ваш html-файл по умолчанию), вам нужно только включить туда все свои скрипты и ссылки css, и он будет использоваться во всем вашем приложении.Вот как работает одностраничное приложение (по крайней мере, для AngularJS).

Если вы хотите отследить, где настраивается маршрутизатор, скорее всего, вы можете найти его в вашем app.js или displayController.js.

...