我有一个要转换为使用汇总的小应用程序。它使用ES6模块-当我运行rollup -c
时,它抱怨我的ES6模块之一:
/js/monogram.js (imported by src\main.js)
(!) Missing global variable name
Use output.globals to specify browser global variable names corresponding to external modules
/js/monogram.js (guessing 'drawMonogram')
created public\js\bundle.js in 311ms
模块monogram.js
使用:
export default drawMonogram
我将其导入:
import drawMonogram from '/js/monogram.js';
这两个方法均在rollup
之前起作用。现在可以了吗?
我是否应该使output.globals
来指定全局名称?
为什么需要全局变量?是ES6模块的全球需求(我认为模块应该在功能范围内)还是汇总?
答案 0 :(得分:2)
Rollup的错误与该问题完全无关。根本无法在该路径下导入模块。在浏览器中使用ES6模块,
import drawMonogram from '/js/monogram.js';
相对于Web服务器根目录。但是在显影框上使用rollup
import drawMonogram from '/js/monogram.js';
被认为是相对于/的。使用相对导入可修复错误。
import drawMonogram from './monogram.js';