「Node.js」一个 export/import 问题求解答

查看 50|回复 1
作者:wdssmq   
项目本身使用 rollup 构建,然后功能上是一个 rollup-plugin ,一开始只导出了一个函数 monkey ,后边加了功能,结果就是拿到的东西不统一了。
虽然可以先判断一下,然而还是想弄清为什么会有这种差异……
export { main as default, monkeyPath, monkeyRequire };
// for test
import monkey, { monkeyPath, monkeyRequire } from "../../dist/index.mjs";
console.log("typeof monkey:", typeof monkey);
// typeof monkey:function
// for prod
import monkey, { monkeyPath, monkeyRequire } from "rollup-plugin-monkey";
console.log("typeof monkey:", typeof monkey);
// typeof monkey:object
console.log("typeof monkey.default:", typeof monkey.default);
// typeof monkey.default:function
项目源码:
https://github.com/wdssmq/rollup-plugin-monkey
这里可以看到 dist/ 内容:
https://www.npmjs.com/package/rollup-plugin-monkey?activeTab=explore
最终项目使用的配置文件:
https://github.com/wdssmq/rollup-plugin-monkey/blob/main/test/gm/rollup.config.mjs

typeof, monkey, import, ult

Aloento   
monkey() 能在 prod 中正常调用吗
然后你 prod 有可能引的是 cjs 的,那么 exports["default"] = main; 导出确实是个 object
具体的还需要其他大佬解答
您需要登录后才可以回帖 登录 | 立即注册

返回顶部