我们正在尝试使用基础配置和多个入口配置来设置Webpack。 基础配置几乎可以完成所有工作,但根据构建目标包括一些额外的文件。我们已经按照以下方式设置了基础配置的输入:
const webpack = require("webpack");
const CopyWebpackPlugin = require('copy-webpack-plugin');
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin')
module.exports = (env) => {
return {
entry: {
...
},
output: {
...
},
optimization: {
...
},
module: {
...
},
resolve: {
...
},
plugins: [
...
]
};
};
配置设置如下:
const webpack = require('webpack');
const merge = require('webpack-merge');
const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
const common = require('./webpack.common.js');
const CopyWebpackPlugin = require('copy-webpack-plugin');
const path = require('path');
module.exports = (env) => {
return merge(common(env), {
mode: 'production',
plugins: [
...
]
});
}
我的电脑可以正常运行,但其他人运行时会出现以下错误:
TypeError: common不是一个函数
这是将选项传递到entry和base webpack文件的最佳方法吗?在本地,一切似乎都正常工作,正确构建并运行。我们使用webpack.DefinePlugin使输入的条目在javascript应用程序中可用。
webpack.common.js
的内容吗? - mehmetseckincommon is not a function
意味着在处理第一行时,require('./webpack.common.js')
并没有返回一个函数。我询问其内容的原因是为了理解为什么./webpack.common.js
没有导出common
函数。这似乎应该可以工作,但如果你在使用任务运行器,你可能可以使用命令行参数,例如使用yargs
。 - mehmetseckinnode
、npm
、webpack
等吗?该错误似乎与webpack
本身无关,而是与node
有关。 - mehmetseckin