我的Angular 2
編碼爲typescript 2
的應用程序使用the Intl.js polyfill。如何使用Intl.js作爲rollup.js中的es2015模塊構建
我已將module:"es2015"
設置爲tsconfig.json
以允許使用Rollup.js作爲recommended by Angular進行樹形抖動。在我的組件我只是做import 'intl'
當我運行在瀏覽器中的應用程序,我得到的錯誤
global is not defined
我一直在使用rollup-plugin-commonjs
圖書館轉換爲es2015
rollup.config嘗試.js
plugins: [
nodeResolve({jsnext: true, module: true}),
commonjs({
include: 'node_modules/intl/**/*',
})
]
當我在瀏覽器中運行應用程序時,我ge t的誤差:
IntlPolyfill is not defined
在線:
IntlPolyfill.__addLocaleData({locale:"en-US",...});
I noticed here該庫是用es6
所以它應該是與rollup
兼容。有關如何使用此庫作爲es6
模塊的任何提示?
一個問題是我只使用'en-us'語言環境,因此我編輯了'intl/index.js'並將第6行從[this]改爲(https://github.com/andyearnshaw/Intl.js /blob/master/index.js#L6)到[this](http://pastebin.com/GfYSL7t2)。這使我大大減少了包的大小。您的解決方案是否可以適應您的想法? – BeetleJuice
一種方法是使用[rollup-plugin-replace](https://github.com/rollup/rollup-plugin-replace)將'locale-data/complete.js'替換爲'locale-data/jsonp/ES-US.js' –