汇总:全局&外部

时间:2017-06-13 04:12:20

标签: iife rollupjs

我试图汇总我的完全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汇总以期望依赖关系是全局因此从汇总中删除。

我意识到这是一个相当普遍的问题,但我只是想知道如何使用这两个选项来管理我的仓库,以便我可以导入依赖项,并且可以"删除"他们在汇总。

任何人都可以清楚地解释他们以及他们做了什么吗?汇总维基略有帮助但不够完整。

1 个答案:

答案 0 :(得分:5)

要让Rollup能够包含依赖项,它必须能够找到它。它没有任何内置逻辑来获取http://backspaces.github.io/asx/libs/three.module.js这样的远程URL(可以作为插件完成,但AFAIK该插件还没有被编写,而且我' d无论如何都可能反对它。)

相反,您最好从node_modules导入模块,如此...

import THREE from 'three';

...并将node-resolvecommonjs添加到生成IIFE的配置中。

对于生成非IIFE构建的配置,其中Three.js保持在外部,您需要使用paths配置将three指回URL:

// 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
  }
};