我使用javascript的大部分内容是d3,其余的javascript知识是通过查看示例,阅读文档等来自学的。重点是我的"深入" javascript的知识不是那么深......
由于我主要使用d3,因此我编写了很多自己的函数和闭包(正如Towards Reusable Charts中的Bostock所建议的那样),它构建于d3之上。
要跟踪我在单独文件中编写的所有代码并使用我的集合,我尝试了一些方法,例如动态地将脚本标记附加到文档的头部,连接文件等等。
理想情况下,我应该为我的代码制作适当的模块并将它们捆绑在一起。
所以我已经走上了这条路,偶然发现了汇总和Lengstrof的tutorial。
我尝试按照它进行操作并进行一些细微的更改(例如,它已假定babel-core
已安装,目前postcss
存在问题。
无论如何,我做了一个小型回购来展示我的用例(project repo)。它有一些模块,包括辅助函数,一些原型和一些闭包。
理想情况下,这些都会像d3
一样导出到闭包/对象中(例如myClos
),然后我可以调用我编写的任何函数。
不幸的是,我不知道如何做到这一点,并没有找到有关如何执行此操作的相关示例/教程。此外,在执行此操作时,我是否必须调用我的帮助函数,如myClos.helper1()
。
无论如何,我非常感谢你的帮助。理想的结果是让汇总文件myclos.min.js
像d3
一样工作,其中包含脚本标记,然后myclos
位于global-namespace
。
非常感谢您的协助。
答案 0 :(得分:1)
确保您遵循导入/引用外部帮助程序/模块的相应格式(例如,从main
文件:( esmodules)import foo from './helper1'; console.log(foo.helper1())
或(commonjs){{1在您尝试从(const foo = require('./helper1'); console.log(foo.helper1())
)导出的模块中:( esm)helper1
,(cjs)export default helper1
。 The Rollup docs有很好的例子。