在gulp和nodejs

时间:2016-05-16 15:24:17

标签: javascript node.js typescript gulp

我曾经用普通的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 超级。但是我得到了同样的错误

  

未捕获的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 ,但在视频中他们没有使用任何此类内容。 谢谢

1 个答案:

答案 0 :(得分:0)

最后使用 Browserify 进行操作。

步骤here