1

angle2アプリをwebpack2とangular2-template-loaderでバンドルしようとしていますが、このエラーが発生します:angular2-template-loader:エラー: @angular compiler srcの './'を解決できません

ERROR in ./~/@angular/compiler/src/compile_metadata.js 
Module not found: Error: Can't resolve './' in 'C:\Users\eagor\Documents\work\node_modules\@angular\compiler\src' 
@ ./~/@angular/compiler/src/compile_metadata.js 393:22-35 
@ ./~/@angular/compiler/index.js 
@ ./~/@angular/platform-browser-dynamic/src/platform-browser-dynamic.js 
@ ./~/@angular/platform-browser-dynamic/index.js 
@ ./src/login/index.js 

angular2-template-loaderがなければ、それはうまくいきます。

のsrc /ログイン/ index.js:

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 
import { LoginModule } from './src/login.module'; 

document.addEventListener('DOMContentLoaded', function() { 
    platformBrowserDynamic() 
     .bootstrapModule(LoginModule); 
}); 

のsrc /ログイン/ SRC/login.module.js

export class LoginModule { 
    // make empty for example. 
} 

webpack.config.js:

var path = require("path"); 

module.exports = { 
    entry: { 
     login: "./src/login/index.js" 
    }, 
    output: { 
     path: path.resolve(__dirname, "wwwroot/bundles"), 
     filename: "[name].min.js" 
    }, 
    module: { 
     loaders: [ 
      { 
       test: /\.js$/, exclude: /node_modules/, 
       loader: "babel-loader" 
      }, 

      // adding this loader breaks 
      { 
       test: /\.js$/, 
       loaders: ['angular2-template-loader'], 
       exclude: [/\.(spec)\.js$/] 
      }, 

      { 
       test: /\.(html|css)$/, 
       loader: 'raw-loader' 
      } 
     ] 
    } 
}; 

答えて

2
{ 
    test: /\.js$/, 
    loaders: ['angular2-template-loader'], 
    exclude: [/node_modules/, /\.(spec)\.js$/] 
} 

は、そうでない場合のWebPACKしたいとあなたのケースで物事を壊していない何かであるあなたのパイプラインを介して、どこかnode_modulesフォルダ内に位置しています.jsファイルもパイプにしようとします:あなたはnode_modulesフォルダを除外する必要があります。

関連する問題