我得到了
Webpack已使用与API架构不匹配的配置对象进行初始化。 - 配置应该是一个对象。
当我尝试使用以下行通过webpack node api要求webpack配置时:
var webpack = require('webpack');
var webpackConfig = require('./webpack.config.js');
webpack(webpackConfig);
我可以使用npm cli在同一个文件夹中构建完全相同的webpack.config.js
webpack
这可能是什么问题?
webpack配置看起来像这样:
const webpack = require('webpack');
const path = require("path");
var ExtractTextPlugin = require("extract-text-webpack-plugin");
module.exports = function(env) {
return {
entry: path.resolve(__dirname, "src/index.js"),
output: {
filename: "./bundle.js",
path: env!==undefined&&('output_path' in env)? env.output_path : path.resolve(__dirname, "bin")
},
externals: [
"angular",
"uuid",
{
"lodash": {
commonjs: "lodash",
amd: "lodash",
root: "_" // indicates global variable
}
},
{
"jquery": {
root: "$",
amd: "jquery",
commonjs: 'jquery'
}
},
{
"jquery-ui": {
amd: "jquery-ui",
commonjs: 'jquery-ui'
}
},
{
"Slick": {
root: "Slick",
amd: "Slick",
commonjs: 'Slick'
}
}
],
devtool: 'source-map',
resolve: {
extensions: ['.webpack.js', '.web.js', '.js'],
},
module: {
rules: [
{
test: /\.html$/,
use: "html-loader"
},
{
test: /.*\.less$/,
use: ExtractTextPlugin.extract({
use:[ 'css-loader', 'less-loader' ],
})
}
]
},
plugins: [
new ExtractTextPlugin({ filename: 'module.css', disable: false, allChunks: true })
]
};
};
答案 0 :(得分:1)
我自己解决了这个问题:
我的webpack.config.js不是一个对象,而是一个函数 - 即错误字符串非常准确。所以我只需要将代码段更改为
var webpack = require('webpack');
var webpackConfig = require('./webpack.config.js')();
webpack(webpackConfig);
让它发挥作用。