我是Webpack的新手,我很难理解如何访问entry
中添加并使用json-loader
加载的json文件的内容:
entry :
en: {
`${config.basePaths.tmp}script.js`,
`${config.basePaths.tmp}en.json`
}
},
output: {
publicPath: '/js/',
path: `${config.paths.scripts.dist}`,
filename: `[name].script.js`
},
module: {
loaders: [
{
test: /\.js$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel-loader',
query: {
presets: ['es2015']
}
},
{
test: /\.coffee$/,
loader: 'coffee-loader'
},
{
test: /\.json$/,
loader: 'json-loader'
}
]
}
该对象被添加到我的输出文件(en.script.js)中,但我不知道如何访问它...它看起来像这样:
function(module, exports) {
module.exports = {
"en": {
"title": "I love webpack",
"something": "else"
}
};
}
请帮帮我。
答案 0 :(得分:0)
您不应该将JSON文件作为入口点。入口点应该是您应用的起点,如果您为每个入口点指定多个文件,它只是将它们包含在同一个捆绑中,但它们并不真正相互影响(请参阅{ {3}})。
使用webpack,您可以导入非JavaScript的文件,例如.json
,如果您有适当的加载程序,它会将其转换为有效的JavaScript,您可以像导入的任何其他JavaScript一样使用它。因此,在script.js
(您的入口点)中,您可以使用以下内容导入JSON:
import enJson from './en.json';
现在您可以根据需要使用enJson
,其中包含en.json
的JavaScript表示形式。顺便说一句,从你的条目中删除它,因为webpack将通过查看从你的入口点(及其所有依赖项)导入的内容来确定使用哪些文件。
entry : {
en: `${config.basePaths.tmp}script.js`,
},