2017-05-29 163 views
1

我想讓rxjs在打字稿/ webpack設置中工作,但在遵循installation guide並啓動webpack dev服務器後,它說找不到模塊。我環顧四周,但似乎沒有任何東西可以指向我的問題解決方案。使用打字稿/ webpack時無法找到rxjs模塊構建

只是爲了澄清我已經運行了以下命令npm install rxjs-es @types/es6-shim --save

要設置打字稿/ webpack包,我參考他們的installation guide

tsconfig

{ 
    "compilerOptions": { 
    "outDir": "./dist/", 
    "sourceMap": true, 
    "noImplicitAny": true, 
    "target": "es6", 
    "module": "es6", 
    "jsx": "react", 
    "allowJs": true 
    } 
} 

的WebPack配置

module.exports = { 
    entry: './index.ts', 
    output: { 
     filename: 'bundle.js', 
     path: __dirname 
    }, 
    module: { 
     rules: [ 
      { 
       enforce: 'pre', 
       test: /\.js$/, 
       loader: "source-map-loader" 
      }, 
      { 
       enforce: 'pre', 
       test: /\.tsx?$/, 
       use: "source-map-loader" 
      } 
     ], 
    }, 
    module: { 
     rules: [ 
      { 
       test: /\.tsx?$/, 
       exclude: /node_modules/, 
       use: [ 'babel-loader', 'ts-loader' ] 
      } 
     ] 
    }, 
    resolve: { 
     extensions: [".tsx", ".ts", ".js"] 
    }, 
    devtool: 'inline-source-map', 
}; 

索引

import * as d3 from 'd3'; 
import Rx from 'rxjs/Rx'; 


d3.select("body").append("span") 
    .text("Hello, world!"); 

Rx.Observable.of(`Hello World`) 
    .subscribe(result => console.log(result)); 

錯誤消息:

enter image description here

我同時使用rxjsrxjs-es包嘗試,並重新命名進口rxjs-es/Rx

不知道如果我在這裏失去了一些東西,因爲它是在與此相比,安裝d3.js非常簡單。

如果您需要更多信息請說,任何幫助非常感謝,歡呼!

回答

1

什麼工作對我來說:

我開始與你所描述的設置,但改變了以下內容:

  • NPM安裝rxjs,不rxjs-ES
  • (編輯)刪除@types/es6-shim
  • 新增"moduleResolution": "node"至tsconfig.json
  • index.ts中的導入聲明更改爲:

    import * as Rx from 'rxjs'; 
    

...和它的工作,無論是從內部VSCode和的WebPack。

+0

真棒 - 謝謝!此外,安裝'@ types/es6-shim'是不必要的,在使用您的解決方案後會拋出編譯器錯誤。以防萬一其他人使用這個 – since095

+0

哎呀,是的,我忘了:我也刪除@ types/es6-shim - 加入回答! –

相關問題