如何导出和使用ECMA6类?这就是我现在所做的:
parser.js
module.exports = class Parser {
static parse() {
}
static doNow() {
}
}现在,在另一个文件中,我正在做:
var Parser = require('parser')
Parser.parse();当parse在Parser上被调用时,我收到一个错误信息
SyntaxError: Unexpected identifier突出显示Parser。
这是什么原因?导出和导入类的正确方法是什么?
发布于 2017-03-20 15:38:33
您试图以绝对的方式调用您的模块--这就是导致问题的原因。
我建议将来使用IDE作为网络风暴或原子来避免这类问题。
试试这个:
var Parser = require('path/path/parser.js');
Parser.parse();对于es6是:
export default class Parser {
static parse() {
}
static doNow() {
}
}
import Parser from './path/path/parser';发布于 2017-03-20 15:40:47
这样做更容易,也更容易理解:
class Parser {
static parse() {
}
static doNow() {
}
}
module.exports = Parser;在要求单元中:
const Parser = require('./path/to/module');
Parser.doNow();
// etc.发布于 2017-03-20 15:40:39
我对此进行了测试,问题似乎在于解析器的路径。
文件构造器
-index.js
-parser.js
index.js
var Parser = require('./parser')
console.log('parser',Parser.parse());parser.js
module.exports = class Parser {
static parse() {
return 'hello there'
}
static doNow() {
}
}终端
node index.js
parser hello therehttps://stackoverflow.com/questions/42907713
复制相似问题