Мы создали приложение с помощью aurelia + webpack.Процесс сборки Webpack(как разработки, так и производства) не выполняется, если страница использует пользовательский элемент или элемент compose. Если мы удалим эти элементы из представления, процесс сборки webpack будет успешным.
package.json
{
"dependencies":
{
"aurelia-bootstrapper-webpack": "^1.0.0",
"aurelia-event-aggregator": "^1.0.0",
"aurelia-framework": "^1.0.1",
"aurelia-history-browser": "^1.0.0",
"aurelia-loader-webpack": "^1.0.3",
"aurelia-logging-console": "^1.0.0",
"aurelia-templating-binding": "^1.0.0",
"aurelia-templating-resources": "^1.0.0",
"aurelia-templating-router": "^1.0.0"
},
"devDependencies":
{
"@types/node": "^6.0.52",
"aurelia-webpack-plugin": "^1.1.0",
"bluebird": "^2.9.2",
"html-loader": "^0.4.3",
"source-map-loader": "^0.1.5",
"toastr": "^2.1.2",
"ts-node": "^1.7.2",
"webpack": "^1.14.0"
}
}
tsconfig.формат JSON
{ "compileOnSave": true, "compilerOptions": { "target": "es5", "module": "amd", "experimentalDecorators": true, "moduleResolution": "node", "sourceMap": false, "allowSyntheticDefaultImports": true, "lib": [ "es2017", "dom" ] }, "awesomeTypescriptLoaderOptions": { "forkChecker": true }, "exclude": [ "node_modules", "build" ] }
webpack.конфиг.js
var AureliaWebPackPlugin = require('aurelia-webpack-plugin');
var path = require('path');
var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: {
'app': [],
'aurelia': [
'aurelia-bootstrapper-webpack',
'aurelia-polyfills',
'aurelia-pal',
'aurelia-pal-browser',
'aurelia-binding',
'aurelia-dependency-injection',
'aurelia-event-aggregator',
'aurelia-framework',
'aurelia-history',
'aurelia-history-browser',
'aurelia-loader',
'aurelia-loader-webpack',
'aurelia-logging',
'aurelia-logging-console',
'aurelia-metadata',
'aurelia-path',
'aurelia-route-recognizer',
'aurelia-router',
'aurelia-task-queue',
'aurelia-templating',
'aurelia-templating-binding',
'aurelia-templating-router',
'aurelia-templating-resources'
]
},
output: {
path: './build',
filename: '[name].bundle.js',
sourceMapFilename: '[name].bundle.js.map'
},
module: {
preLoaders: [
{
test: /.js$/,
exclude: path.resolve('node_modules/aurelia-webpack-plugin'),
loader: "source-map-loader"
}
],
loaders: [
{ test: /.html$/, loader: 'html', exclude: path.resolve('src/index.html') }
]
},
plugins: [
new AureliaWebPackPlugin(),
new webpack.optimize.CommonsChunkPlugin({ name: ['aurelia'] })
],
}
Представление, процесс сборки webpack не удалось (app.формат html)
<require from="./custom-component"></require>
<custom-component></custom-component>
пользовательские компоненты.ts
export class CustomComponent {
message: string;
constructor() {
this.message = 'This is sample text message';
}
}
Webpack Task runner показывает следующую ошибку
Предупреждение in ./ src / app / custom-component.ts
Ошибка синтаксического анализа модуля: C:UsersDeveloperdocumentsvisual studio 2017ProjectsWebpackSampleWebpackSamplesrcappcustom-component.ts (2:11))
Для работы с этим типом файлов может потребоваться соответствующий загрузчик.
Webpack выполняет статический анализ зависимостей. Динамически загружаемые ресурсы не будут включены, если только webpack не будет знать об их существовании с помощью явной ссылки на них с помощью платформы.moduleName («путь / к / ресурсу») или с GlobDependenciesPlugin в webpack.конфиг.js