【发布时间】:2017-12-29 11:47:26
【问题描述】:
在服务器端(nodejs/express),我在导出和引用这个文件时没有问题(使用 Attempt1)。
// collectionFile.js
function collection() {
let data = {};
function getData(key) {
return data[key];
}
function setData(key, value) {
data[key] = value;
}
return {
getData: getData,
setData: setData
};
}
const instanceOfCollection = collection();
在客户端 (React) 上,我无法引用和访问 getData 函数。以下是我尝试过的一些组合。它们都不起作用。我怎样才能让它工作?
// Attempt1: export
// module.exports.getter = instanceOfCollection.getData;
// Attempt1: import
// const getter = require('./collectionFile').getter;
// Uncaught TypeError: getter is not a function
// Attempt2: export
// export default { instanceOfCollection };
// Attempt2: import
// import instanceOfCollection from './collectionFile';
// const instance = instanceOfCollection.getData;
// Uncaught TypeError: Cannot read property 'getData' of undefined
// Attempt3: export
// export const instanceOfCollection = collection();
// Attempt3: import
// import { instanceOfCollection } from './collectionFile';
// const instance = instanceOfCollection.getData;
// Uncaught TypeError: Cannot read property 'getData' of undefined
编辑:原来我是从文件 B 中引用文件 A 以及之前从文件 A 中引用文件 B
【问题讨论】:
-
能否包含您的文件结构?
-
您是在使用模块捆绑器还是只是几个 javascript 文件?
-
同一文件夹中只有 2 个文件。我正在从另一个文件中导入 collectionFile.js。请注意,我在导出常量时没有任何问题
-
就几个js文件
标签: javascript reactjs ecmascript-6 es6-modules