[英]Auto-completion in Webstorm for my custom npm module (ES6/Babel)
[英]es6 not working for my custom npm module
我剛剛將我的javascript應用程序的一部分(用Vue2和nuxt.js編寫,但這並不重要)提取到一個外部npm包中。
我的主要應用程序將babel用於es6代碼,並且該軟件包中編寫的所有文件都使用es6語法。 問題是-將es6代碼提取到外部npm模塊后,uglifyjs開始抱怨其語法。 錯誤表明uglify將它們視為常規javascript文件,而不是es6。
如何告訴節點將我的打包文件視為es6?
抱歉,沒有提供代碼示例,但實際上沒有太多顯示。 我有一個由nuxt.js / vue-cli生成器生成的常規webpack應用程序。 它使用babelify和uglify使其能夠使用es6 sytnax。 所有主應用程序均使用es6編寫。
假設我將兩個文件移至外部模塊A
和B
(均為es6)。 模塊A
需要模塊B
並且在uglify抱怨時-該B
文件未寫入es5中。 似乎由於某種原因,內部所需的模塊沒有首先被濫用。 這是預期的行為嗎?
解決方案很少
一種是提及您提取的模塊是供應商的一部分,因此在webpack中,您將:
entry: {
...
vendor: [
'jquery',
'my-extracted-module'
]
},
並使用CommonsChunkPlugin
:
plugins: [
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
filename: 'vendor.js'
})
]
並將my-extracted-module
編譯為獨立my-extracted-module
(您可以在package.json中使用es:next功能)
另一個解決方案是告訴Webpack在構建時包括該軟件包,請參見
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.