Вот мое дерево первого уровня моего сайта:
дерево:
├── 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 потому что на самом деле это не работает.
Если у кого-то есть идея о том, как решить мои проблемы, была бы очень полезна.