// test.js
class Test
export Test
// index.js
import {Test} from './test'
这会导致Unexpected token
出现语法错误。导出预定义类的正确方法是什么?
编辑:要求类定义与导出分开。
答案 0 :(得分:6)
详细说明
export {A, B};
与
相同// old style
exports.A = A;
exports.B = B;
需要import
之类的
import {A,B} from "./somefile";
与
相同// old style
var A = require("./somefile").A;
var B = require("./somefile").B;
但是,您也可以使用export default
class Test {
constructor() {
console.log("it's works");
}
}
export default Test;
与
相同// old style
exports["default"] = Test;
module.exports = exports["default"];
然后像
一样导入它import Test from "./test";
new Test();
// "it works!";
与
相同// old style
var Test = require("./test");
new Test();
// "it works!";
答案 1 :(得分:4)
正确的方法是使用export {Test}
。
答案 2 :(得分:0)
您只需要更改test.js:
export class Test
然后
import {Test} from './test'
答案 3 :(得分:0)
你们都可以
class MyClass { }
export { MyClass }
或
export default MyClass // no semicolon
然后
import { MyClass as Stuff } from './modulepath';
或(如果您声明导出默认值)
import { default as MyClass } from './modulepath';
或只是
import MyClass from './modulepath';