gpt4 book ai didi

typescript - 将参数传递给基本的 Webpack 配置

转载 作者:行者123 更新时间:2023-12-04 15:54:13 25 4
gpt4 key购买 nike

我们正在尝试使用基本和多条目配置来设置 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 is not a function



这是将选项传递到入口和基础 webpack 文件的最佳方式吗?这一切似乎在本地运行良好,并正确构建所有内容并运行。我们使用 webpack.DefinePlugin 使传入的条目在 javascript 应用程序中可用。

最佳答案

当我删除存储库时,只需发布​​最小的复制设置以供将来引用(这对我来说效果很好)。问题是合并问题,与 webpack 无关。

// file: src/hello-world.js
module.exports = () => {
console.log("Hello, world!");
}

// file: src/index.js
const helloWorld = require('./hello-world');
helloWorld();

// file: webpack.common.js
module.exports = (env) => {
console.log("./webpack.common: " + env + " was passed for argument 'env'.");
return {
mode: env
}
};

// file: webpack.config.js
const webpack = require('webpack');
const merge = require('webpack-merge');
const common = require('./webpack.common');

module.exports = (env) => {
return merge(common(env), {});
};

// file: package.json
{
"name": "webpack-param-repro",
"version": "1.0.0",
"description": "A minimal app to reproduce the problem in https://stackoverflow.com/q/52594681/824495",
"main": "dist/main.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Mehmet Seckin",
"repository": {
"type": "git",
"url": "https://github.com/seckin92/webpack-param-repro"
},
"license": "ISC",
"devDependencies": {
"webpack": "^4.20.2",
"webpack-cli": "^3.1.2",
"webpack-merge": "^4.1.4"
}
}

关于typescript - 将参数传递给基本的 Webpack 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52594681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com