2017-02-08 66 views
0

使用@types我正在關注的webpack intro對角2.我使用WebStorm但是當我運行npm start,別名爲webpack-dev-server,我得到以下形式的60打字稿transpile錯誤在WebStorm

ERROR in [at-loader] node_modules\@angular\common\src\directives\ng_class.d.ts:48:34 
    TS2304: Cannot find name 'Set'. 

ERROR in [at-loader] node_modules\@angular\common\src\pipes\async_pipe.d.ts:44:38 
    TS2304: Cannot find name 'Promise'. 

記得用分型,當遇到類似問題,並在我的應用程序的根目錄添加///<reference path="../typings/index.d.ts"/>ts文件的頂部解決了。

然而,這種的WebPack示例使用新@types但我似乎不能得到它發揮好與WebStorm。我試着用typeRoots屬性更新tsconfig.json的建議here,但無濟於事。你可以找到這個webpack demo here的源代碼。

任何想法如何獲得WebStorm這方面的工作?

+0

獲取VSCode中的相同問題。但是,對於VSCode和WebStorm,服務器都在運行並正在運行。我如何擺脫這些錯誤? –

+0

看起來好像不識別ES6功能=你的配置沒有正確配置 – smnbbrv

+0

@smnbbrv不知道我明白。爲什麼我必須配置我的babel?這個例子是從角度網站直接。它不應該工作嗎? –

回答

1

@詹姆斯-B

改變你的TS規則webpack.common.js裝載機: '真棒,打字稿加載器', 'angular2模板加載器']如下所示:

你webpack.common.js代碼:

module: { 
    rules: [ 
     { 
      test: /\.ts$/, 
      loaders: [{ 
       loader: 'awesome-typescript-loader', 
       options: { configFileName: helpers.root('tsconfig.json') } 
      } , 'angular2-template-loader'] 
     }, 
     { 
      test: /\.html$/, 
      loader: 'html-loader' 
     }, 
     { 
      test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/, 
      loader: 'file-loader?name=assets/[name].[hash].[ext]' 
     }, 
     { 
      test: /\.css$/, 
      exclude: helpers.root('src', 'app'), 
      loader: ExtractTextPlugin.extract({ fallbackLoader: 'style-loader', loader: 'css-loader?sourceMap' }) 
     }, 
     { 
      test: /\.css$/, 
      include: helpers.root('src', 'app'), 
      loader: 'raw-loader' 
     } 
    ] 
}, 

更新webpack.common.js代碼:

module: { 
    rules: [ 
     { 
      test: /\.ts$/, 
      loaders: ['awesome-typescript-loader', 'angular2-template-loader'] 
     }, 
     { 
      test: /\.html$/, 
      loader: 'html-loader' 
     }, 
     { 
      test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/, 
      loader: 'file-loader?name=assets/[name].[hash].[ext]' 
     }, 
     { 
      test: /\.css$/, 
      exclude: helpers.root('src', 'app'), 
      loader: ExtractTextPlugin.extract({ fallbackLoader: 'style-loader', loader: 'css-loader?sourceMap' }) 
     }, 
     { 
      test: /\.css$/, 
      include: helpers.root('src', 'app'), 
      loader: 'raw-loader' 
     } 
    ] 
},