簡體   English   中英

由Babel / webpack導出的Tyepscript / es6模塊以_esModule的形式具有默認屬性

[英]Tyepscript/es6 module exported by babel/webpack as _esModule with default property

我已經將一個javascript應用程序轉換為打字稿,但是現在我已將代碼轉換為打字稿/ es6樣式的導出,而babel / webpack無法正確導出它們。

由於我現在使用export default...語法,因此babel將其轉換為esModule對象,該類實際上已附加到default屬性。

自然,此對象格式對於實際使用它的任何人都不再有效。

我嘗試將babel-plugin-add-module-exports插件添加到混合中,但它沒有做任何更改。 我想知道打字稿中是否出現了問題。

.babelrc:

{
    "plugins": [
        "add-module-exports",
        "lodash"
    ]
}

tsconfig.json:

{
  "compilerOptions": {
    "target": "es2015",
    "module": "commonjs"
  }
}

webpack.config.js:

entry: {
    'myfile.ts'
},
output: {
    filename: 'myfile.js',
    library: 'MyApp',
    libraryTarget: 'umd'
},
resolve: {
    extensions: ['', '.ts', '.js']
},
module: {
    loaders: [{
        test: /\.ts$/, loader: 'babel!ts-loader'
    }]
}

myfile.ts只是導出一個類:

export default class MyApp {...

您可以將包輸出轉換為全局變量 當前libraryTarget指向支持CommonjsAMD的 UMD

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM