汇总:全局变量和外部

bac*_*ces 3 iife rollupjs

我正在尝试汇总我的完全es6模块存储库,该存储库既包含项目的本地导入/导出,又包含对脚本或模块的依赖项的导入。

我还试图建立一个通过汇总创建旧版iife模块的双重版本。

这仅对我的项目有效,没有问题。困难在于我需要导入依赖项。

汇总的全局变量和外部选项应该会有所帮助,但是到目前为止,我还没有成功公开这些内容并汇总到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有点帮助,但不够完整。

Ric*_*ris 5

为了使汇总能够包含依赖项,必须能够找到它。它没有任何用于获取远程URL的内置逻辑,例如http://backspaces.github.io/asx/libs/three.module.js(可以作为插件完成,但是AFAIK插件没有还没有写过,无论如何我都建议不要这样做。

相反,您最好像这样从node_modules导入模块...

import THREE from 'three';
Run Code Online (Sandbox Code Playgroud)

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

对于生成将Three.js保留在外部的非IIFE构建的paths配置,您将需要使用该配置指向threeURL:

// 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
  }
};
Run Code Online (Sandbox Code Playgroud)

  • 从 2020 年开始更新,我必须将“路径”放在“输出”属性中。为了让它发挥作用。 (2认同)