javascript导出一个类
用 export , import 的时候,总是报错,说外部模块找不到。。
E:\project_ts\abc\main.js:1
import {Queue} from './Queue'
^^^^^^
SyntaxError: Cannot use import statement outside a module
摸索了半天,这种方式行得通。
// Queue.js /** *封装一个队列的结构,提供若干操作队列的接口 * *author:Henry *date:20200503 * */ class Queue { constructor() { this.queue = []; } enqueue = function(value) { this.queue.push(value); }; dequeue = function() { return this.queue.shift(); }; peek = function() { return this.queue[0]; }; length = function() { return this.queue.length; }; print = function() { console.log(this.queue.join(' ')); }; } function test1 () { console.log("test1"); } exports.test1 = test1 exports.Queue = Queue
// main.js const ABC = require('./Queue'); ABC.test1(); let que1 = new ABC.Queue(); que1.enqueue(1); que1.enqueue(2); que1.enqueue(3); que1.enqueue(4); que1.enqueue(5); que1.print();
在webStrom里面,运行 main.js 正常。
可与访问到外部的js文件定义的类、方法。