我最近更新了一個AngularJS(v1)項目,從Webpack v1更新爲v2,TypeScript v1更新爲v2。該項目使用帕格文件來生成視圖,並且在升級之前沒有問題。Webpack不處理控制器模板中的帕格文件
由於升級,控制器中引用的帕格文件不再由Webpack處理。任何路線中指定的帕格文件仍然正常工作。
我webpack.common.config.js
具有與哈巴狗哈巴狗裝載配置:
module: {
rules: [
{
test: /\.pug$/,
use: ['pug-loader']
},
]
}
不會得到通過的WebPack再處理的哈巴狗文件的例子。
this.$mdDialog.show({
clickOutsideToClose: true,
template: require('../components/ui/client.pug'),
controller: ['$mdDialog', '$state', '$rootScope', 'clientService', ProfilePopupController],
controllerAs: 'dm',
bindToController: true,
locals: { localData: popupData }
})
我試圖明確提及哈巴狗裝載機使用
template: require('pug-loader!../components/ui/client.pug');
這哈巴狗裝載機文檔中的例子相匹配的Github pug-loader repository
template = require("pug-loader!./file.pug");
這給了我錯誤:
ERROR in ./~/pug-loader!./src/app/components/ui/client.pug Module build failed: Error: C:\Users\User\git\myapp\node_modules\pug-loader\index.js!C:\git\myapp\src\app\components\ui\client.pug:4:1
我有一個小應用程序顯示問題的Github。它在MyApp Repository。如果您構建這個應用程序,您可以看到在main.controller.ts aboutPopup()
中引用的模板pug文件顯示部分處理的代碼。一旦建成,轉到Main並單擊關於按鈕。