2016-10-23 37 views
0

请帮助我,我不明白如何在TS中使用es6模块。 例如:我不明白如何使用es6模块打字稿2

我试着将ext.class导入到class1.ts。

class1.ts 
import ExtClass from "./ext.class"; 
class Class1 { 
    constructor(){ 
     console.log(new ExtClass().title) 
     console.log("Work") 
    } 
} 
new Class1(); 

其出口类

ext.class.ts 
class ExtClass { 
    public title: string = "ExtClass work"; 
} 
export default ExtClass 

package.json 
{ 
    "name": "ts_def", 
    "version": "0.0.0", 
    "license": "MIT", 
    "private": true, 
    "scripts": { 
    "start": "tsc && concurrently \"tsc -w\" \"lite-server\" ", 
    "lite": "lite-server" 
    }, 
    "dependencies": { 
    "core-js": "^2.4.1", 
    "ts-helpers": "^1.1.1" 
    }, 
    "devDependencies": { 
    "@types/jasmine": "^2.2.30", 
    "@types/node": "^6.0.42", 
    "codelyzer": "~0.0.26", 
    "ts-node": "1.2.1", 
    "tslint": "3.13.0", 
    "typescript": "2.0.2", 
    "concurrently": "^3.0.0", 
    "lite-server": "^2.2.2" 
    } 
} 
tsconfig.json 
{ 
    "compilerOptions": { 
    "declaration": false, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "lib": ["es6", "dom"], 
    "mapRoot": "./", 
    "module": "es6", 
    "moduleResolution": "node", 
    "outDir": "../dist/out-tsc", 
    "sourceMap": true, 
    "target": "es6", 
    "typeRoots": [ 
     "../node_modules/@types" 
    ] 
    } 
} 

在结果我收到的CLI和浏览器意外令牌进口。请告诉我,什么是错的?

回答

0

现在,您正在输出来自typescript的es6代码。现在,除非您打算进一步将其转换为ES5代码,否则这并不有用。

通常,使用的模块方式是将代码转换为ES5,然后使用TSC将ES6模块转换为ES5模块定义(例如systemjs模块),并在运行时使用模块加载器(如SystemJS)加载它们。