我已经制作了这个实用程序,我想将其导入另一个文件:
const fetch = require('node-fetch');
/**
* @todo Add documentation
*/
class SimplicateApi {
constructor(key,secret){
this._key = key;
this._secret = secret;
this.baseUrl = 'https://simplicate.nl/api/v2';
this.options = {
headers: {
'Content-Type': 'application/json',
'Authentication-Key' : this._key,
'Authentication-Secret' : this._secret
}
}
}
get(endpoint) {
return fetch(`${this.baseUrl}${endpoint}`, this.options)
.then(res => res.json())
.then(json => json);
}
}
export default SimplicateApi;
在另一个这样导入的文件中:
import SimplicateApi from '../../utils/SimplicateApi';
我收到的错误:
(函数(导出,需求,模块,__ filename,__ dirname){ 来自“ ../../utils/SimplicateApi”的{SimplicateApi}; ^
SyntaxError:意外令牌{ 使用新脚本(vm.js:80:7) 在createScript(vm.js:274:10) 在Object.runInThisContext(vm.js:326:10) 在Module._compile(内部/模块/cjs/loader.js:664:28) 在Object.Module._extensions..js(内部/模块/cjs/loader.js:712:10) 在Module.load(内部/模块/cjs/loader.js:600:32) 在tryModuleLoad(内部/模块/cjs/loader.js:539:12) 在Function.Module._load(internal / modules / cjs / loader.js:531:3)
在Function.Module.runMain(内部/模块/cjs/loader.js:754:12)
在启动时(internal / bootstrap / node.js:283:19)PS C:\ Users \ klmaa \ OneDrive \ Bureaublad \ dexhub \ client \ src \ components \ cmInf
我删除了所有内容,甚至是提取内容,并且只导出了这样的类:
// import fetch from 'node-fetch';
/**
* @todo Add documentation
*/
class SimplicateApi {
}
export default SimplicateApi;
现在我这样导入它:
import SimplicateApi from '../../utils/SimplicateApi';
错误仍然看起来像:
(function (exports, require, module, __filename, __dirname) { import SimplicateApi from '../../utils/SimplicateApi';
^^^^^^^^^^^^^
SyntaxError: Unexpected identifier
at new Script (vm.js:80:7)
at createScript (vm.js:274:10)
at Object.runInThisContext (vm.js:326:10)
at Module._compile (internal/modules/cjs/loader.js:664:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
at Module.load (internal/modules/cjs/loader.js:600:32)
at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
at Function.Module._load (internal/modules/cjs/loader.js:531:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)
at startup (internal/bootstrap/node.js:283:19)
PS C:\Users\klmaa\OneDrive\Bureaublad\dexhub\client\src\components\cmInf
答案 0 :(得分:1)
您的代码混合了CommonJs module
和ES6 module
。
在反应中,您应该使用ES6模块。 React不支持CommonJs模块。您需要为此配置Babel。
const fetch = require('node-fetch'); // this wronng import syntax in React.
更改应为
// if you are in react.
import fetch from 'node-fetch'; // for react
//if you are in Node.
class SimplicateApi {
}
module.exports = SimplicateApi;