![](/img/trans.png)
[英]gulp-webpack error: Entry module not found: Error: cannot resolve module
[英]gulp & webpack: ERROR in Entry module not found
我使用webpack
来处理JavaScript(ES6模块捆绑,转换为ES5等)和gulp
- 用于其他任务( jade
, sass
等)。 我想保持webpack
在配置webpack.config.js
,但执行webpack
通过gulp
任务。
📁 发展
📁es6 - 源JS
📄main.js
📁JS -输出JS发展
📄index.js
📁 生产
📄webpack.config.js
📄gulpfile.js
var gulp = require('gulp'),
//...
gulpwebpack = require('gulp-webpack')
gulp.task('gulpwebpack', function(){
return gulp.src('development/03_es6/main.js')
.pipe(gulpwebpack(require('./webpack.config.js')))
.pipe(gulp.dest('development/js/'));
});
// ...
gulp.task('watch', ['browser-sync', 'jade', 'sass'], function() {
// ...
gulp.watch('development/03_es6/*.js', ['test']);
});
gulp.task('default', ['watch']);
const NODE_ENV = process.env.NODE_ENV || 'development';
module.exports = {
context: __dirname + '/development',
entry: './03_es6/main.js',
output: {
path: __dirname + '/development/js/',
filename: 'index.js'
},
module: {
rules: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
use: ['babel-loader']
}
]
}
//watch: NODE_ENV === 'development'
};
如果只是执行webpack
从控制台(这意味着执行webpack
独立地gulp
),一切都将是正确的。 但是,如果要执行gulp gulpwebpack
,将出现错误消息:
ERROR in Entry module not found: Error: Cannot resolve 'file' or 'directory' ./development/03_es6/main.js in C:\...\projectFrolder/development
我知道错误的起源在这里:
// ...
context: __dirname + '/development',
entry: './03_es6/main.js',
output: {
// ...
但是, development/03_es6/main.js
和./development/03_es6/main.js
也不会起作用。 Gulp无法正确读取webpack.config.js
,不是吗?
我想,你应该切换到
'use strict'; const gulp = require('gulp'), named = require('vinyl-named'), webpack = require('webpack-stream'); gulp.task('webpack', function () { gulp.src('development/03_es6/main.js') .pipe(named()) .pipe(webpack(require('./webpack.config.js'))) .pipe(gulp.dest('./build')) });
从webpack.config.js中删除条目:
module.exports = { context: __dirname + '/development', output: { path: __dirname + '/development/js/', filename: 'index.js' }, module: { rules: [ { test: /\\.jsx?$/, exclude: /node_modules/, use: ['babel-loader'] } ] } };
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.