我有三个具有简单模块名称的RequireJS模块(例如api
),这些模块将用于遵循基于插件的体系结构的页面,因此我无法完全控制其他模块的定义。所以,我想创建一个唯一的非全局“命名空间”,以确保其他一些代码尚未定义api
并发生命名冲突。
例如,我不会使用define('api')
,而是使用define('myns.api')
或类似的东西。
我该如何解决这个问题?
这是我所指的project。另外,我正在使用Grunt来构建我的项目。
答案 0 :(得分:0)
这是一个比表面看起来更深刻的问题,没有一个好的答案。
像NPM这样的包管理器经常设置类似于username.projectname.modulename
的命名空间。
对于ActionScript和C#等命名空间语言,通常使用类似于com.example.module
的项目域
在其他很难提出名称的情况下,会生成GUID并用于唯一标识模块。