gpt4 book ai didi

ionic-framework - 使用 webpack 替换复制文件上的文本

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

我有一个 build.config.xml里面有几个字符串,比如 $FABRIC_API_KEY .我想用 process.env.FABRIC_API_KEY 替换它在新文件中 config.xml ( build.config.xml 应该保持不变)。我试过使用 CopyWebpackPlugin ,但我似乎无法让它做任何事情。

var CopyWebpackPlugin = require('copy-webpack-plugin');

module.exports = {
...
resolve: {
extensions: ['.ts', '.js', '.json', '.xml'],
...

plugins: [
ionicWebpackFactory.getIonicEnvironmentPlugin(),
new CopyWebpackPlugin([{
from: 'build.config.xml',
to: 'config.xml',
transform: function (content) {
content = content
.replace('$FABRIC_API_SECRET', process.env.FABRIC_API_SECRET)
.replace('$FABRIC_API_KEY', process.env.FABRIC_API_KEY);

return content;
},
}]),
],
};

该文件做其他事情(构建 ionic ),其他一切都按预期工作。没有错误或任何东西,而且 config.xml不会被创建。

如何复制文件并替换其中的字符串?我愿意使用另一个插件。

最佳答案

自 OP 以来,可能很多事情都发生了变化,但 transform copy-webpack-plugin的功能确实允许修改文件内容。content传递给函数的参数是一个缓冲区,因此可以像这样实现简单的字符串替换(注意对 toString() 的调用):

new CopyWebpackPlugin([{
from: 'build.config.xml',
to: 'config.xml',
transform(content) {
return content
.toString()
.replace('$FABRIC_API_SECRET', process.env.FABRIC_API_SECRET)
.replace('$FABRIC_API_KEY', process.env.FABRIC_API_KEY);
},
}])

关于ionic-framework - 使用 webpack 替换复制文件上的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45426046/

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