对CommonJS配置文件使用全局变量
Using globals for CommonJS config files
现在我使用CommonJS模块在脚本中设置一些全局变量,而不是在每个脚本中手动设置它们。
index.spec.js
/*globals browser, by, element*/
require('./config.js')();
describe('exampleApp', function() {
'use strict';
beforeEach(function() {
browser.get('http://localhost:8080/');
});
describe('index view', function() {
it('should have a title', function() {
expect(browser.getTitle()).to.eventually.equal('Example App');
});
});
});
config.js
/*globals global*/
module.exports = function() {
'use strict';
global.chai = require('chai');
global.promised = require('chai-as-promised');
global.expect = global.chai.expect;
global.chai.use(global.promised);
}();
然而,在这里使用全局对象似乎是一种糟糕的做法。有更好的方法吗?也许是一种加载变量的方法,该变量的作用域是本地作用域到我正在require
中的文件?
您可以只导出一个配置对象,并在所有需要该配置对象的文件中要求它吗?
'use strict';
var config = {};
config.chai = require('chai');
config.promised = require('chai-as-promised');
config.expect = config.chai.expect;
config.chai.use(config.promised);
module.exports = config;
然后只需要在所有使用配置的文件中都这样做:
var config = require('config.js');
相关文章:
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 如何使全局变量仅特定于该文件
- 在节点中创建文件全局变量
- 对CommonJS配置文件使用全局变量
- 什么's是处理多个js文件之间交互的简单方法,同时避免溢出全局变量
- 全局变量确实'在script标记中的外部.js文件之后,nt工作
- 在blackberry cascades 10中访问多个qml文件中的全局变量
- 使用 grunt 在 javascript 文件中“嵌入”一个全局变量
- 更改.js文件中全局变量的值
- NodeJS与AngularJS,所需的HTML文件不是跨控制器的数据绑定全局变量
- js 文件中的全局变量
- 节点模块包括数据文件作为全局变量
- 在两个js文件之间共享全局变量
- 从自定义Javascript文件v6.5访问SugarCRM全局变量$current_user
- 如何使用zend中公共目录下定义的js文件中的配置文件(或变量)
- 从JSON文件中获得的值保留在解析函数上;t被分配给全局变量
- 跨多个html和全局变量引用的公共js文件
- 全局变量如何在两个javascript文件中的Function中的javascript中工作
- 具有多个文件的JavaScript中的全局变量
- 无法使用进程.获取~/中的环境变量.配置文件或~/.Mac中的bash_profile