2017-06-13 54 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导入,假定我使用