首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rollup js:如何创建像d3这样的闭包?

Rollup js:如何创建像d3这样的闭包?
EN

Stack Overflow用户
提问于 2018-05-09 20:09:14
回答 1查看 70关注 0票数 1

我使用javascript的大部分是d3,其余的javascript知识是通过查看示例、阅读文档等自学的。重点是我对javascript的“深入”知识并不是那么深入……

因为我主要使用d3,所以我编写了很多自己的函数和闭包(正如Bostock在Towards Reusable Charts中所建议的那样),它们构建在d3之上。

为了跟踪我在单独的文件中编写的所有代码,并使用我的集合,我尝试了几种方法,例如动态地将脚本标记附加到文档头、连接文件等

理想情况下,我应该为我的代码制作适当的模块,并将其捆绑在一起。

因此,我开始了这条路,偶然发现了rollup和这个由Lengstrof编写的tutorial

我试着使用它,并做了一些小改动(例如,它假设已经安装了babel-core,但目前postcss有问题)。

无论如何,我做了一个小的存储库来演示我的用例(project repo)。它有一些模块,包括帮助器函数、一些原型和一些闭包。

理想情况下,这些都应该导出到一个闭包/对象中,就像d3 (例如myClos)一样,然后我就可以在其中调用我编写的任何函数。

不幸的是,我不知道如何做到这一点,也没有找到关于如何做到这一点的相关示例/教程。此外,在执行此操作时,我还必须调用我的助手函数,如myClos.helper1()

无论如何,我将非常感谢你的帮助。理想的结果是让汇总的文件myclos.min.jsd3一样工作,其中我包含脚本标记,然后myclosglobal-namespace中。

非常感谢您的帮助。

EN

回答 1

Stack Overflow用户

发布于 2018-05-10 07:23:22

确保您遵循适当的格式来导入/引用您的外部帮助器/模块(例如,从您的main文件:(esmodules) import foo from './helper1'; console.log(foo.helper1())或(commonjs) const foo = require('./helper1'); console.log(foo.helper1()))。在您试图从(helper1):(esm) export default helper1,(cjs) module.exports = helper1导出的模块中。The Rollup docs在这方面有很好的例子。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50253045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档