我有一个简单的JavaScript问题。我有两个文件,a.js和b.js在同一目录中定义。
在a.js中我定义了一个函数:
declare namespace __esri {
/* snip */
interface Map extends Accessor, LayersMixin {
allLayers: Collection;
basemap: Basemap;
ground: Ground;
}
interface MapConstructor {
new(properties?: MapProperties): Map;
}
export const Map: MapConstructor;
/* snip */
}
declare module "esri/Map" {
import Map = __esri.Map;
export = Map;
}
在b.js我有:
IMap
但是,当我运行节点b.js时,我得到:
function foo() {
console.log('Hello World!');
}
任何线索我做错了什么?
答案 0 :(得分:1)
您需要在访问之前导出该功能。
a.js
:
function foo() {
console.log('Hello World!');
}
exports.foo = foo;
然后,您应该可以在b.js
中访问它。
答案 1 :(得分:1)
a.js
内:
module.exports = {
foo: function() {
console.log('Hello World!');
}
}
然后在b.js
:
var a = require('./scenarios/a.js');
a.foo();
答案 2 :(得分:0)
我能够弄清楚这一点!需要定义module.exports。啊从一开始学习JavaScript的乐趣啊!
b.js是:
var a = require('./../scenarios/a.js');
a.foo();
a.js是:
function foo() {
console.log('Hello World!');
}
module.exports = {
foo: foo
}