我曾经用普通的javascript编写我的web应用程序,直到我去了解Typescript。它是javascript的一个很好的超集,如果我编写并编译它并且使用我的WAMP服务器执行它,我没有任何问题。
但我听说过angular2(我知道angular1),我开始使用https://www.lynda.com/AngularJS-tutorials/Learn-AngularJS-2-Basics/428058-2.html课程学习它。
他使用 nodejs , gulp , gulp-webserver 。我做了确切的设置,但最后我得到了
未捕获的ReferenceError:未定义导出@ animal.ts:1。
未捕获的ReferenceError:未定义require @ cat.ts:1
然后我转而首先学习如何从https://www.youtube.com/watch?v=7xOubdqyqaY
设置gulp环境这是我的项目目录结构:
typescript/
|--app/
----index.html, load animal.js, cat.js from js/
----|--js, contains all compiles js files( animal.js, cat.js )
-------|--lib, contains all library files
|--node_modules/
|--typescript/, contains my written typescript files
---|--animal.ts
---|--cat.ts
|--typing/s, contains typescript definition files
|--gulp.config.js
|--gulpfile.js
|--package.json
|--tsconfig.json
|--tslint.json
当我在根文件夹(typescript)的cmd中运行 gulp 命令时,它会运行所有任务,它会编译所有ts文件,lint并使用 browser-sync 来提供它strong>和超级。但是我得到了同样的错误
未捕获的ReferenceError:未定义导出@ animal.ts:1。
未捕获的ReferenceError:未定义require @ cat.ts:1
我的文件内容:
animal.ts
export class Animal {
constructor( private name: string, private sound: string ) {
}
makeSound() {
console.log( `${this.name} makes ${this.sound}` );
}
}
let a: Animal = new Animal( "tiger33", "Gurrrrrr" );
a.makeSound();
cat.ts
import {Animal} from "./animal"
let b: Animal = new Animal( "Cat", "Mewww" );
b.makeSound();
请告诉我我做错了什么。 我全局安装了节点, gulp , tsc 。 我是否需要安装 browserify 或 requireJS ,但在视频中他们没有使用任何此类内容。 谢谢