我创建了一个javascript文件,其中我声明了不同的字符串常量.
现在在另一个javascript文件中我想使用已经创建的javascript文件中的那些String常量.
有没有办法做到这一点.
提前致谢.
如果将常量声明file1为全局变量:
var someConstant = 42;
Run Code Online (Sandbox Code Playgroud)
然后,您可以在其他JS文件中使用该变量。file1在尝试使用它们之前,请确保已加载。
但是,像这样污染全球范围会带来风险,因为这些变量很容易更改。
多种方式.
使用像grunt这样的任务运行器来定义将文件连接成一个文件的任务.这不仅可以方便地定义常量,还可以提高性能.
还有其他工具可以做到这一点.请参阅适用于Windows的Prepros和适用于Mac的codekit.
如果您在客户端,使用像一个工具require.js或browserify定义CommonJS的/ AMD模块,并要求他们为你所需要的.
如果您在服务器端使用节点,则这对于commonJS来说是开箱即用的.
您可以先加载常量定义脚本并执行以下操作:
var constants = {
MY_CONST: 'Foo'
}
Run Code Online (Sandbox Code Playgroud)
你的主要whi脚本可以访问这个变量.如果省略var关键字,则变量将全局可用.但请注意,应避免这种情况.
您甚至可以向全局对象添加属性(window在客户端).
我个人喜欢在处理允许我这样做的项目时使用commonJS模块.Rob Ashton对此有一个意见,我想分享一下.
当我不能以方便的方式使用这些模块时,由于它们的隔离范围,使用(自定义)Web组件就是这种情况,我喜欢添加一个创建Object的脚本App.我使用这个对象来公开模块,服务和常量,然后任何组件都可以以一种巧妙的方式使用它们:
App.myService.doSomething()