首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导出和导入ECMA6类

导出和导入ECMA6类
EN

Stack Overflow用户
提问于 2017-03-20 15:33:05
回答 3查看 1.5K关注 0票数 2

如何导出和使用ECMA6类?这就是我现在所做的:

parser.js

代码语言:javascript
复制
module.exports = class Parser {
   static parse() {
   }

   static doNow() {
   }
}

现在,在另一个文件中,我正在做:

代码语言:javascript
复制
var Parser = require('parser')
Parser.parse();

parseParser上被调用时,我收到一个错误信息

代码语言:javascript
复制
SyntaxError: Unexpected identifier

突出显示Parser

这是什么原因?导出和导入类的正确方法是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-03-20 15:38:33

您试图以绝对的方式调用您的模块--这就是导致问题的原因。

我建议将来使用IDE作为网络风暴或原子来避免这类问题。

试试这个:

代码语言:javascript
复制
var Parser = require('path/path/parser.js');
    Parser.parse();

对于es6是:

代码语言:javascript
复制
export default class Parser {
   static parse() {
   }

   static doNow() {
   }
}

import Parser from './path/path/parser';
票数 2
EN

Stack Overflow用户

发布于 2017-03-20 15:40:47

这样做更容易,也更容易理解:

代码语言:javascript
复制
class Parser {
   static parse() {
   }

   static doNow() {
   }
}

module.exports = Parser;

在要求单元中:

代码语言:javascript
复制
const Parser = require('./path/to/module');
Parser.doNow();
// etc.
票数 2
EN

Stack Overflow用户

发布于 2017-03-20 15:40:39

我对此进行了测试,问题似乎在于解析器的路径。

文件构造器

-index.js

-parser.js

index.js

代码语言:javascript
复制
var Parser = require('./parser')
console.log('parser',Parser.parse());

parser.js

代码语言:javascript
复制
module.exports = class Parser {
   static parse() {
       return 'hello there'
   }

   static doNow() {
   }
}

终端

代码语言:javascript
复制
node index.js 
parser hello there
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42907713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档