我正在使用angularjs和Typescript创建一些应用程序,但是我无法解决此错误,
这是我的* .ts代码
export var NgApp = new application.Startup(); ///<reference path="../../../../../typings/tsd.d.ts"/> import {NgApp} from "../../bootstrap"; module views.components.home { export class HomeComponent { public constructor() { } public static factory():Function[] { return [ () => new HomeComponent() ] } } } NgApp.registerComponents(views.components.home,() => this.app.controller);
这是我的GULP任务
let tsResult = gulp.src('src/**/*.ts').pipe(ts({ module: 'commonjs', sourceMap: true })); let taskTs = tsResult.js.pipe(gulp.dest('built/'));
这是我的错误:未捕获的ReferenceError:导出未定义
问题是:如何在打字稿中使用类似es6的导入?我缺少什么?
我使用angular 1.6和webpack,当我将模块更改为 “ umd”* 时,它可以在我这边使用 *
UMD:通用模块定义这推动了支持两种样式(AMD和CommonJS)的“通用”模式的推动 参考:http://davidbcalhoun.com/2014/what-is-amd-commonjs-and- umd/
UMD:通用模块定义这推动了支持两种样式(AMD和CommonJS)的“通用”模式的推动
参考:http://davidbcalhoun.com/2014/what-is-amd-commonjs-and- umd/
更改后粘贴到这里是我的tsconfig.json,我运行$ tsc
{ "compilerOptions": { "target": "es5", "module": "umd", "moduleResolution": "node", "sourceMap": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "lib": [ "es2015", "dom" ], "noImplicitAny": true, "removeComments": true, "preserveConstEnums": true, "allowUnreachableCode": true }, "exclude": [ "node_modules" ] }
然后我的 “未定义导出” 错误消失了。