我使用javascript的大部分是d3,其余的javascript知识是通过查看示例、阅读文档等自学的。重点是我对javascript的“深入”知识并不是那么深入……
因为我主要使用d3,所以我编写了很多自己的函数和闭包(正如Bostock在Towards Reusable Charts中所建议的那样),它们构建在d3之上。
为了跟踪我在单独的文件中编写的所有代码,并使用我的集合,我尝试了几种方法,例如动态地将脚本标记附加到文档头、连接文件等
理想情况下,我应该为我的代码制作适当的模块,并将其捆绑在一起。
因此,我开始了这条路,偶然发现了rollup和这个由Lengstrof编写的tutorial。
我试着使用它,并做了一些小改动(例如,它假设已经安装了babel-core,但目前postcss有问题)。
无论如何,我做了一个小的存储库来演示我的用例(project repo)。它有一些模块,包括帮助器函数、一些原型和一些闭包。
理想情况下,这些都应该导出到一个闭包/对象中,就像d3 (例如myClos)一样,然后我就可以在其中调用我编写的任何函数。
不幸的是,我不知道如何做到这一点,也没有找到关于如何做到这一点的相关示例/教程。此外,在执行此操作时,我还必须调用我的助手函数,如myClos.helper1()。
无论如何,我将非常感谢你的帮助。理想的结果是让汇总的文件myclos.min.js像d3一样工作,其中我包含脚本标记,然后myclos在global-namespace中。
非常感谢您的帮助。
发布于 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在这方面有很好的例子。
https://stackoverflow.com/questions/50253045
复制相似问题