2017-06-13 67 views
1

我想彙總我的完全es6模塊回購,其中既有本地項目導入/導出,也導入到也是腳本或模塊的依賴關係。彙總:全局和外部

我也試圖通過彙總創建傳統iife模塊的雙重構建。

這工作正常,只是我的項目,沒有問題。難點是我有我的依賴進口。

Rollup的全局變量和外部選項應該有所幫助,但迄今爲止,我還沒有成功地將這些變量暴露給iffe。我得到 http://backspaces.github.io/asx/libs/three.module.js' is imported by src/Three.js, but could not be resolved – treating it as an external dependency

錯誤和其他。最終的彙總不是我想要的:將Iife彙總轉換爲期望依賴性成爲從彙總中刪除的全局變量。

我意識到這是一個相當普遍的問題,但我只是想知道如何使用這兩個選項來管理我的回購,這樣我就可以導入依賴關係並在彙總中「移除」它們。

任何人都可以清楚地解釋他們,他們做什麼?彙總wiki稍有幫助,但不夠完整。

回答

1

對於Rollup能夠包含依賴項,它必須能夠找到它。它沒有用於獲取遠程URL的任何內置邏輯,例如http://backspaces.github.io/asx/libs/three.module.js(可以作爲插件完成,但AFAIK插件尚未寫入,並且我可能會反對它)。

相反,你會更好的,像這樣node_modules導入模塊...

import THREE from 'three'; 

...並添加node-resolvecommonjs到生成IIFE的配置。

對於生成非IIFE構建地方three.js所保持外部的配置,你就需要使用paths配置指向three回網址:

// rollup.config.js 
export default { 
    entry: 'src/main.js', // or whatever 
    // ... 
    external: ['three'], // so it's not included 
    paths: { 
    three: http://backspaces.github.io/asx/libs/three.module.js 
    } 
}; 
+0

感謝:一個小問題:對於iife構建,我真的希望完全移除THREE導入,假定我使用