我想以下面的方式自由操纵文件内容。最好的解决方案是什么?这次我正在使用JSON,但我希望能够使用任何字符串内容来执行此操作。但是,如果有特定于JSON的方式,请还包括。
...
{
use: '...content-loader',
test: /messages.json$/,
function: (data) => {
const object = JSON.parse(data)
for(let key in object){
object[key] = myFunction(key, object[key])
}
return JSON.stringify(object)
}
},
...
这应该真的很容易,但是搜索正在将许多不同的解决方案返回到无关的答案中。
我自己最终要制作一个装载机。下面的示例:
// content-loader
const { getOptions } = require('loader-utils')
function loader (source) {
const options = getOptions(this)
const response = options.function(source)
return response
}
module.exports = loader
// webpack.config.js rule in module.rules
{
test: /messages.json$/,
loaders: [
{
loader: 'content-loader',
options: {
function: (data) => {
const object = JSON.parse(data)
for(let key in object){
object[key] = myFunction(key, object[key])
}
return JSON.stringify(object)
}
}
}
]}