JavaScript из node_modules, не загруженных в режиме разработки с gulp 4 - PullRequest
0 голосов
/ 02 апреля 2020

Вот мое дерево первого уровня моего сайта:

дерево:

├── app
├── blog-theme
├── bower_components
├── dist
├── doc
├── node_modules
├── Releases
└── test

Мои javascript из node_modules не загружаются в режиме разработки с перезагрузка:

gulpfile. js:


gulp.task('serve-php', function () {
  connect.server({
      port: 9001,
      base: 'app',
      open: false
  }, function() {
    var proxy = httpProxy.createProxyServer({});
    browserSync.init({
        notify: false,
        port  : 9000,
        server: {
            baseDir   : ['.tmp', 'app'],
            routes    : {
                '/node_modules': 'node_modules'

            },
            middleware: function (req, res, next) {
                var url = req.url;
                if (!url.match(/^\/(styles|fonts|node_modules)\//)) {
                    proxy.web(req, res, { target: 'http://127.0.0.1:9001' });
                } else {
                    next();
                }
            }
        }
    });
  });
  gulp.watch([
      'app/*.html',
      'app/*.php',
      'app/**/*.php',
      'app/**/**/*.php',
      'app/scripts/**/*.js',
      'app/images/**/*',
      '.tmp/fonts/**/*'
  ]).on('change', function() {
    browserSync.reload();
  });
  gulp.watch('app/styles/**/*.scss', gulp.series('styles'));
  gulp.watch('app/fonts/**/*', gulp.series('fonts'));
 });
 gulp.task('dev', gulp.series( gulp.parallel('styles','fonts', 'scripts', 'images'), 'serve-php' ));

Этот фрагмент кода из моего gulpfile. js позволяет мне проверить мой веб-сайт, добавить некоторые изменения и сразу увидеть эти изменения с помощью простой перезагрузки (быстрее, чем сборка всего сайта и компиляция из / dist; здесь это из / app (source).

Может быть, мои проблемы возникли из-за этого фрагмента кода из gulpfile. js или, может быть, это из-за того, как я реализовал зависимости моих node_modules внутри моих файлов:

Есть два файла, в которых я их реализовал:

app / footer. php

<!-- build:js /scripts/vendor.js -->
<!-- bower:js -->
<!-- <script src="/node_modules/modernizr/src/Modernizr.js"></script> -->
<script src="/node_modules/jquery/dist/jquery.js"></script>
<script src="/node_modules/@popperjs/core/dist/umd/popper.js"></script>
<script src="/node_modules/angular/angular.min.js"></script>
<script src="/node_modules/angular-cookies/angular-cookies.min.js"></script>
<script src="/node_modules/angular-sanitize/angular-sanitize.min.js"></script>
<script src="/node_modules/angular-animate/angular-animate.min.js"></script>
<!-- endbower -->
<!-- endbuild -->

<!-- build:js /scripts/plugins.js -->
<script src="/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- <script src="/node_modules/dropdown-menu/index.js"></script>
<script src="/bower_components/lazyloadxt/dist/jquery.lazyloadxt.js"></script> -->
<!-- endbuild -->

и

app / login / index. php

<!-- build:js /scripts/vendor.js -->
<!-- bower:js -->
<script src="/bower_components/modernizr/modernizr.js"></script>
<script src="/bower_components/jquery/dist/jquery.js"></script>
<script src="/bower_components/popper.js/dist/umd/popper.js"></script>
<script src="/bower_components/angular/angular.min.js"></script>
<script src="/bower_components/angular-cookies/angular-cookies.min.js"></script>
<script src="/bower_components/angular-sanitize/angular-sanitize.min.js"></script>
<script src="/bower_components/angular-animate/angular-animate.min.js"></script>
<!-- endbower -->
<!-- endbuild -->

<!-- build:js /scripts/plugins.js -->
<script src="/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="/bower_components/lazyloadxt/dist/jquery.lazyloadxt.js"></script>
<!-- endbuild -->

Как вы можете видеть при входе в систему Я все еще использую bower, потому что я пытаюсь использовать только node_modules, но когда я изменил bower на зависимости node_modules в моем app / logi n / index. php больше не работает. Мне удалось изменить bower на node_modules в моем приложении / нижнем колонтитуле. php, но я думаю, что app / login / index. php является преобладающим, поэтому, похоже, он работает в приложении / нижнем колонтитуле. php. Я думаю, что приложение / логин / индекс. php сейчас преобладают, потому что им просто наплевать на то, что находится в приложении / нижнем колонтитуле. php потому что на самом деле это не работает.

Если у кого-то есть идея о том, как решить мои проблемы, была бы очень полезна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...