如何将多个文件放入单个命名空间/模块中?(javascript)
我一直在阅读有关模块模式的内容,但我所阅读的所有内容都假定模块的全部内容将在一个文件中。我想每个班有一个文件 我在每个文件的顶部都这样做:如何将多个文件放入单个命名空间/模块中?(javascript),javascript,namespaces,module,Javascript,Namespaces,Module,我一直在阅读有关模块模式的内容,但我所阅读的所有内容都假定模块的全部内容将在一个文件中。我想每个班有一个文件 我在每个文件的顶部都这样做: if(window.ModuleName === undefined) { window.ModuleName = {}; } ModuleName.ClassName = function () { ... } 但这允许文件在没有依赖项的情况下被包含,这也很烦人。例如,假设有ClassA使用ClassB,而HTML中没有“ClassB.js”,那么Cl
if(window.ModuleName === undefined) { window.ModuleName = {}; }
ModuleName.ClassName = function () { ... }
但这允许文件在没有依赖项的情况下被包含,这也很烦人。例如,假设有ClassA
使用ClassB
,而HTML中没有“ClassB.js”,那么ClassA
将抛出错误。据我所知,Javascript缺少一个import
语句,所以在本例中,我实际上希望所有内容都在一个文件中
我假设大型javascript项目被分解成多个文件,因此必须有一种方法来解决这个问题。一般是怎么做的?是否有一些工具可以将多个类文件合并到一个模块文件中?这是一个很大的主题,但让我尽可能多地解释一下。Javascript要求您已经预加载了任何您想要使用的东西,这就是为什么您的模块模式将所有“东西”都放在同一个文件中的原因。但是,如果您计划将它们分离到不同的文件中,那么您必须在使用之前对其进行管理。我建议采取以下办法
希望能有所帮助。+1-我会创建一个大的javascript文件并缩小它。你也应该将这种方法应用到你的css中。谢谢你提供了信息丰富的答案。另一方面,我查看了jQuery项目makefile,看起来他们有一个手工制作的文件列表,这些文件与
cat
连接在一起。