我使用javascript的大部分是d3,其余的javascript知识是通过查看示例,阅读文档等自学的。重点是我对javascript的“深入”知识并不那么深...
因为我主要使用d3,所以我已经在d3的基础上编写了很多自己的函数和闭包(如Bostock在Towards Reusable Charts中所建议的)。
为了跟踪所有我在单独文件中编写的代码并使用我的集合,我尝试了几种方法,例如将脚本标签动态附加到文档的开头,连接文件等。
理想情况下,我应该为代码编写适当的模块并将其捆绑在一起。
所以我开始走这条路,偶然发现汇总和Lengstrof的tutorial。
我尝试按照它进行操作,并使其进行了一些较小的更改(例如,假定已安装babel-core
,并且当前postcss
存在问题。
无论如何,我做了一个小仓库来演示我的用例(project repo)。它具有一些模块,其中包括辅助函数,一些原型和一些闭包。
理想情况下,所有这些都将导出到闭包/对象中,就像d3
(例如myClos
)一样,然后我可以调用我编写的任何函数。
不幸的是,我不知道该怎么做,也没有找到相关的示例/教程。另外,在执行此操作时,我是否还必须调用诸如myClos.helper1()
之类的辅助函数。
无论如何,我将非常感谢您的帮助。理想的结果是让汇总文件myclos.min.js
像d3
一样工作,其中我包含脚本标记,然后myclos
在global-namespace
中。
在此先感谢您的协助。
最佳答案
确保您遵循正确的格式来导入/引用外部帮助程序/模块(例如,从您的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有很好的例子。