gpt4 book ai didi

webpack - 在 Webpack 中编译多个 Elm 项目

转载 作者:行者123 更新时间:2023-12-04 07:53:29 25 4
gpt4 key购买 nike

我正在运行 Phoenix 服务器,其中 Webpack 配置文件部分如下所示:

entry: {
'elm-db': './elm-db/src/Main.elm',
'elm-ledger': './elm-ledger/src/Main.elm',
},
output: {
filename: '[name].js',
path: path.resolve(__dirname, '../priv/static/js'),
publicPath: '/js/',
},

module: {
rules: [
{
test: /\.elm$/,
exclude: [/elm-stuff/, /node_modules/],
use: {
loader: 'elm-webpack-loader',
options: {
cwd: path.resolve(__dirname, 'elm-db'),
debug: options.mode === "development",
optimize: options.mode === "production",
},
},
},
]
},
我有两个 Elm 项目, elm-dbelm-ledger .我已经设法添加 elm-db正确到配置文件,它编译项目就好了。但是,我一直未能添加“elm-ledger”。上面的代码产生了正确的 elm-db.js文件,但正在编译 elm-ledger.js返回错误,可能是因为我无法做出正确的 cwd field 。我找不到有关 cwd 配置的任何文档.

最佳答案

不确定这是否有帮助,但我们正在使用旧版本的"elm-webpack-loader": "^6.0.1" (最新版本可能有不同的配置)


const elmPath = path.resolve(__dirname, './node_modules/.bin/elm');
const srcPaths = [
path.resolve(__dirname, './app1'),
path.resolve(__dirname, './app2'),
path.resolve(__dirname, './app3'),
];

const elmRules = srcPaths.map(featurePath => ({
test: new RegExp(`^${featurePath}.*elm$`),
include: featurePath,
exclude: [/elm-stuff/, /node_modules/],
use: [
{
loader: require.resolve('elm-webpack-loader'),
options: {
pathToElm: elmPath,
cwd: featurePath,
// other options
},
},
],
}));

然后你传播那个 ...elmRules在 Webpack 配置规则中

关于webpack - 在 Webpack 中编译多个 Elm 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66824622/

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