mfr*_*het 5 javascript coffeescript typescript
我实际上正在尝试在同一项目中同时使用coffeescript和typescript。
实际上,我希望能够选择编码时喜欢的那个。
事实是,由typescript生成的javascript似乎与用coffeescript生成的javascript不能正常工作
说明:
我用coffeescript写了一个Controller类,当我将它扩展到如下的coffeescript文件中时,它可以完美地工作:
Controller = require('../node_modules/Controller/Controller')
class HelloController extends Controller
indexAction: (name) =>
console.log 'hey '+ name
module.exports = HelloController
Run Code Online (Sandbox Code Playgroud)
但是当我尝试将其与如下所示的打字稿一起使用时:
import Controller = require('../node_modules/Controller/Controller');
export class HelloController extends Controller {
constructor() {
super()
}
indexAction(name:String) {
console.log('hey '+name);
}
}
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息,告诉我无法在预期的位置找到控制器(.js文件生成正确)
你能帮助我吗 ?
如果要执行此操作,则需要提供有关Coffeescript生成的JavaScript文件的类型信息。
如果添加a Controller.d.ts,则可以在控制器文件中描述类型,以便TypeScript可以在编译期间应用该类型信息。
例如:
declare class Controller {
protected name: string;
//... more type information
}
export = Controller;
Run Code Online (Sandbox Code Playgroud)
当然,从本质上讲,您需要进行大量工作来编写JavaScript或Coffeescript,然后再将类型信息写入另一个文件中-因此您可能希望根据单元来决定要编写程序的内容。例如,如果您在Coffeescript中编写工具包,则很容易.d.ts为它编写一个文件-而如果您在Coffeescript中到处编写文件,则将遇到一些维护方面的噩梦(要么创建大量文件.d.ts文件或每次更改其中一个部分时管理一个合并的文件)。
定义文件针对稳定的API效果最好。
| 归档时间: |
|
| 查看次数: |
778 次 |
| 最近记录: |