Ошибка построения Webpack, когда представление содержит пользовательский элемент или элемент compose

Мы создали приложение с помощью 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))
Для работы с этим типом файлов может потребоваться соответствующий загрузчик.

1 ответ

  1. Webpack выполняет статический анализ зависимостей. Динамически загружаемые ресурсы не будут включены, если только webpack не будет знать об их существовании с помощью явной ссылки на них с помощью платформы.moduleName («путь / к / ресурсу») или с GlobDependenciesPlugin в webpack.конфиг.js