Я продолжаю получать ошибку 404 в моем файле bundle.js. Я работаю в поисковых системах, читаю и стараюсь все, что могу, часами, чтобы понять это, но я не нашел решения, которые помогут мне. Я получаю следующее сообщение об ошибке в браузере (Chrome)bundle.js не найден (** не связанный с webpack)
«Не удалось загрузить ресурс: сервер ответил со статусом 404 http://localhost:3000/bundle.js (НЕ НАЙДЕНО)»
Вот мои gulpfile.babel.js:
import gulp from 'gulp';
import babelify from 'babelify';
import browserify from 'browserify';
import source from 'vinyl-source-stream';
import browserSync from 'browser-sync';
import less from 'gulp-less';
import ghPages from 'gh-pages';
import gutil from 'gulp-util';
import fs from 'fs';
const sync = browserSync.create();
gulp.task('html',() => {
gulp.src('src/**/*.html')
.pipe(gulp.dest('dist'))
.pipe(sync.reload({
stream: true
}));
});
gulp.task('json',() => {
gulp.src('src/**/*.json')
.pipe(gulp.dest('dist'))
.pipe(sync.reload({
stream: true
}));
});
gulp.task('script',() => {
browserify().transform(babelify.configure({
presets: ["es2015", "react"] }))
.bundle()
.pipe(fs.createWriteStream("bundle.js"))
});
gulp.task('styles', ['fonts'],() => {
gulp.src('src/styles/**/*.{css,less}')
.pipe(less()
.on('error', (error) => {
gutil.log(gutil.colors.red('Error: ' + error.message));
gutil.beep();
}))
.pipe(gulp.dest('dist'))
.pipe(sync.reload({
stream: true
}));
});
// Fonts
gulp.task('fonts',() => {
gulp.src('node_modules/font-awesome/fonts/*')
.pipe(gulp.dest('dist/fonts/'));
});
gulp.task('build', ['html', 'script', 'styles', 'json']);
gulp.task("deploy", ["build"],() => {
ghPages.publish("dist");
});
gulp.task('serve', ['build'],() => {
sync.init({
server: 'dist',
});
gulp.watch('src/**/*.html', ['html']);
gulp.watch('src/**/*.json', ['json']);
gulp.watch('src/**/*.{css,less}', ['styles']);
gulp.watch('src/**/*.{js,jsx}', ['script'])
});
gulp.task('default', ['serve']);
Мой package.json
{
"private": true,
"devDependencies": {
"babel-core": "^6.3.26",
"babel-loader": "^6.2.0",
"babel-preset-es2015": "^6.3.13",
"babel-preset-react": "^6.3.13",
"babelify": "^7.2.0",
"browser-sync": "^2.10.1",
"browserify": "^12.0.1",
"fs": "0.0.2",
"gh-pages": "^0.8.0",
"gulp": "^3.9.0",
"gulp-less": "^3.0.5",
"gulp-util": "^3.0.7",
"react": "^0.14.3",
"vinyl-source-stream": "^1.1.0",
"webpack": "^1.12.9"
},
"dependencies": {
"backbone": "^1.2.3",
"bootstrap": "^3.3.6",
"font-awesome": "^4.5.0",
"jquery": "^2.1.4",
"parse": "^1.6.13",
"react": "^0.14.3",
"react-dom": "^0.14.3",
"underscore": "^1.8.3"
}
}
Мой index.html имеет следующую строку в нижней части тела:
<script type="text/javascript" src="bundle.js"></script>
Кроме того, у меня есть .babelrc настроить с es2015 и реагировать пресеты
Заранее спасибо за любые отзывы!
UPDATE РЕШИТЬ:
gulp.task('script',() => {
browserify().transform(babelify.configure({
presets: ["es2015", "react"] }))
.bundle()
.pipe(fs.createWriteStream("dist/bundle.js"))
});
бы добавить - расст/- к последней строке
Похоже, вы говорите 'браузер-sync', чтобы использовать' dist/'в качестве базового каталога, но' bundle.js' записывается в текущий рабочий каталог (который, вероятно, является родителем 'dist/')? – robertklep
Да, вы правы. Это именно то, что происходит. – basquith16
Вы решили эту проблему? –