配置 Require js 加载 AMD 模块 javascript
Configuring Require js to load AMD modules in javascript
我刚开始使用 gulp、mocha、chai 编写测试用例来测试我的 javascript 文件。
我的文件目录
Project
|-- _src
| `-- scripts
| `-- ui
| |-- ChangePos.js
| |-- PosRenderer
| `-- utils
| |-- Element
| `-- Config
`-- test
`-- index.js
utils/ChangePos.js
define(['Config',
'Element',
'PosRenderer'
] {
function() {
//mycode
}
});
它依赖于配置和元素文件。
test/index.js
var requirejs = require("requirejs");
var chai = require('chai');
var expect = chai.expect;
requirejs.config({
baseUrl: './../_src/scripts/ui',
paths: {
utils: 'utils'
},
nodeRequire: require,
map: {
'*': {
'NIT.Cookie': 'utils/Element'
}
}
});
describe('almeObjectConfig', function() {
var ele, conf, obj;
before(function (done) {
requirejs(['utils/Config', 'utils/Element'],
function (config, element) {
console.log('Configuration: ' + config);
console.log('Element: ' + element);
ele = element;
conf = config;
done();
});
});
我正在尝试通过指定加载依赖于 Element 和 Config 的 ChangePos路径 'utils'。
utils: 'utils'
我可以通过将 baseURL 指定为 baseUrl:'./../_src/scripts/ui/utils'
来显式加载元素,但这里它仅在 ui 文件夹内检查并给出未定义的对象。
如果我将所有文件都放在 ui 文件夹中,它会起作用,因为它正在考虑基础 URL 并且只在基础文件夹中查找。
我不确定我在这里错过了什么。
感谢您的帮助。
查看您的配置,我没有看到允许 ChangePos
加载 utils/Element
作为 Element
和 utils/Config
作为 Config
。特别是,paths
配置 'utils': 'utils'
不会执行此操作,并且对您拥有的特定配置根本不执行任何操作。要获得您必须工作的代码,您必须 paths
是:
paths: {
'Config': 'utils/Config',
'Element': 'utils/Element'
}
我刚开始使用 gulp、mocha、chai 编写测试用例来测试我的 javascript 文件。
我的文件目录
Project
|-- _src
| `-- scripts
| `-- ui
| |-- ChangePos.js
| |-- PosRenderer
| `-- utils
| |-- Element
| `-- Config
`-- test
`-- index.js
utils/ChangePos.js
define(['Config',
'Element',
'PosRenderer'
] {
function() {
//mycode
}
});
它依赖于配置和元素文件。
test/index.js
var requirejs = require("requirejs");
var chai = require('chai');
var expect = chai.expect;
requirejs.config({
baseUrl: './../_src/scripts/ui',
paths: {
utils: 'utils'
},
nodeRequire: require,
map: {
'*': {
'NIT.Cookie': 'utils/Element'
}
}
});
describe('almeObjectConfig', function() {
var ele, conf, obj;
before(function (done) {
requirejs(['utils/Config', 'utils/Element'],
function (config, element) {
console.log('Configuration: ' + config);
console.log('Element: ' + element);
ele = element;
conf = config;
done();
});
});
我正在尝试通过指定加载依赖于 Element 和 Config 的 ChangePos路径 'utils'。
utils: 'utils'
我可以通过将 baseURL 指定为 baseUrl:'./../_src/scripts/ui/utils'
来显式加载元素,但这里它仅在 ui 文件夹内检查并给出未定义的对象。
如果我将所有文件都放在 ui 文件夹中,它会起作用,因为它正在考虑基础 URL 并且只在基础文件夹中查找。
我不确定我在这里错过了什么。 感谢您的帮助。
查看您的配置,我没有看到允许 ChangePos
加载 utils/Element
作为 Element
和 utils/Config
作为 Config
。特别是,paths
配置 'utils': 'utils'
不会执行此操作,并且对您拥有的特定配置根本不执行任何操作。要获得您必须工作的代码,您必须 paths
是:
paths: {
'Config': 'utils/Config',
'Element': 'utils/Element'
}