输出文件名错误



我知道这是 webpack 的一个常见问题;如果它不会给你任何关于错误原因或位置的信息,那么调试一些东西真的很难。

我收到错误:

Error: 'output.filename' is required, either in config file or as --output-filename

我知道这与某处的语法错误有关,但我太新了,无法弄清楚 webpack。

这是我的配置文件。它在根文件夹(即我最初运行的文件夹:npm init(中称为"webpack.config.js"。

const webpack = require('webpack');
const path = require("path");
const ExtractTextPlugin = require("extract-text-webpack-plugin")
const RewriteImportPlugin = require("less-plugin-rewrite-import");
const root_dir = path.resolve(__dirname)
const src_dir = path.resolve(__dirname, "webpack_src")
const build_dir = path.resolve(__dirname, "webpack_bin")
const node_mod_dir = path.resolve(__dirname, 'node_modules');
const extractLESS = new ExtractTextPlugin('style.css');
const config = {
entry: {
index: path.resolve(src_dir, 'index.js')
},
output: {
path: build_dir,
filename: 'bundle.js'
},
resolve: {
modules: [root_dir, 'node_modules'],
},
module: {
rules: [
{
loader: 'babel-loader',
test: /.(js)$/
},
{
use: extractLESS.extract({
fallback: 'style-loader',
use: [
'css-loader',
{
loader: 'less-loader',
options: {
paths: [root_dir, node_mod_dir],
plugins: [
new RewriteImportPlugin({
paths: {
'../../theme.config': __dirname + '/semantic_ui/theme.config',
}
})
]
}
}]
}),
test: /.less$/
},
{
use: ['file-loader'],
test: /.(png|jpg|gif|woff|svg|eot|ttf|woff2)$/
},
]
},
plugins: [
extractLESS,
new webpack.optimize.ModuleConcatenationPlugin()
]
};
module.exports = {
config
};

你正在导出module.exports = { config },这意味着你正在导出一个具有一个属性的对象,即config,但 webpack 希望该对象是你的整个配置。Webpack 需要output.filename,而你只提供config.output.filename

导出应该是您的config

module.exports = config;

相关内容

  • 没有找到相关文章

最新更新