我最近花了几个小时在Webpack +各种框架(比如Vue)上,以便对它们进行一些测试。
然后我开始研究Aurelia + Webpack,但经过几个小时的搜索和配置调整,我无法理解发生了什么。
以下是我对webpack的理解:
entry
对象output
对象es2015
的加载程序babel,.vue文件的Vue加载程序等...... HMTLWebpackPlugin
将采用HTML模板并自动插入与您要生成的包对应的正确<script>
标记。 精细。
所以对于Aurelia,我安装了aurelia-webpack-plugin
+ aurelia-loader
+ aurelia-loader-webpack
。但是这应该如何在Webpack中运行?
我或多或少地理解的是:
src
文件夹中的所有内容(默认情况下)aurelia-app
中定义的index.html
和主JS文件中的配置,然后拉出那里定义的所有组件。但它不是那样的,至少不是在我的配置中。我发现的是,我必须将aurelia-framework
+ aurelia-loader
+ aurelia-loader-webpack
作为Webpack的一个条目提供,以便正确发现和处理我的所有组件/应用。如果我只提供主要的Aurelia JS文件(包含Aurelia配置),Webpack会处理该文件并停在那里。
将Aurelia模块加载到Webpack条目中已经做了很多工作,例如在skeleton
projects
那么,它需要什么吗?我必须导入/捆绑aurelia-loader
和aurelia-loader-webpack
才能正确处理我的所有Aurelia应用/组件?
如果为了正确处理Aurelia而必须这样做,为什么这不是插件自动完成的?
我不是在评判,我只是想了解Webpack在处理Aurelia应用程序时所做的工作。
供参考,这是我的Webpack配置:
var path = require('path');
var AureliaWebpackPlugin = require('aurelia-webpack-plugin');
var HTMLWebpackPlugin = require('html-webpack-plugin');
const coreBundles = {
// these will be included in the 'aurelia' bundle (except for the above bootstrap packages)
aurelia: [
'aurelia-framework',
'aurelia-loader',
'aurelia-loader-webpack'
]
}
module.exports = {
entry: {
app: './src/main'
},
output: {
path: "./dist",
filename: "[name].js"
},
plugins: [
new AureliaWebpackPlugin({
}),
new HTMLWebpackPlugin({
template: "src/index.html"
})
],
module: {
loaders: [
{test: /\.css$/, loader: "style!css"},
{test: /\.html$/, loader: "html"},
{test: /\.(png|svg|eot|ttf|woff\d*)$/, loader: "file"}
]
}
};
感谢您的帮助,