jba*_*ros 12 javascript webpack
我正在使用requirejs将项目转换为webpack,并且遇到了"html-loader"加载器的问题.
的package.json:
"html-loader": "^0.3.0",
"webpack": "^1.11.0",
"webpack-dev-server": "^1.10.1"
Run Code Online (Sandbox Code Playgroud)
应用程序/ JS/webpack.config.js:
// folder structure:
// root
// app/js
// bower_components/
// dist/
// node_modules/
entry: './app/js/main.js',
output: {
path: 'dist/js/',
filename: 'bundle.js',
},
module: {
loaders: [
// Note, via requirejs's "text" plugin, I included templates
// like this: var tpl = require('text!sample.html');
// For webpack, I went through the codebase and cleaned up
// every instance of "text!".
{test: /\.html$/, loader: 'html'}
]
},
resolve: {
root: ['app/js', 'bower_components'],
alias: {
...
}
},
plugins: [
new webpack.ResolverPlugin(
new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin(
'bower.json', ['main']
)
)
]
Run Code Online (Sandbox Code Playgroud)
当我运行webpack - 时webpack --config app/js/webpack.config.js,我收到以下错误消息:
app/js/some/file.js中的
错误找不到模块:错误:无法解析app/js/some/file.js中的模块'html'
我尝试了以下,但没有用:
resolveLoader: {
root: [path.join(__dirname, 'node_modules')],
},
Run Code Online (Sandbox Code Playgroud)
还尝试将"webpack.config.js"移动到项目根目录.这也没有帮助.
并且,甚至尝试使用"原始加载器"加载器,这也导致相同的"无法解析模块'原始'"错误.
任何帮助,将不胜感激.谢谢.
在更新这个时完全放弃了。
1)我应该一直使用text-loader,这让我可以在每个require('text!some/template.html');.
2)我的根路径不是绝对的。根据手册,“它必须是绝对路径!不要传递类似 ./app/modules 的东西。”
3) 如果您的requires 看起来像require('text!some/file.html'),那么您就完成了。在 webpack.config.js 中定义加载器是多余的。如果这样做,您的模板最终将看起来像module.exports="module.exports=\"...\"".
更新配置:
entry: './app/js/main.js',
output: {
path: 'dist/js/',
filename: 'bundle.js',
},
module: {
loaders: [/*nothing*/]
},
resolve: {
root: [
path.resolve('app/js'),
path.resolve('bower_components')
],
alias: {
...
}
},
plugins: [
new webpack.ResolverPlugin(
new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin(
'bower.json', ['main']
)
)
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16381 次 |
| 最近记录: |