我一直在使用“–out”编译器标志来创建1个
javascript输出文件.
我有很多.ts文件,并通过将它放在每个文件的顶部来管理它:
/// <reference path="../references.ts" />
现在我真的想在这个项目中使用React.js.在“打字稿”中“正确”使用反应的唯一方法(这样我仍然能够以打字稿的方式创建类)似乎是通过使用这个库react-typescript
但这是使用commonjs模块设置库,然后使用browserify将它们组合成1个文件:
import React = require('react');
import ReactTypescript = require('react-typescript');
在项目的示例中,所有.ts文件首先通过在顶部使用大量“require”调用来列出其本地.ts依赖项.
问题是:当我将–module“commonjs”标志添加到编译器命令时, – out的通常行为停止工作,因为输出中不再包含参考文件.看来编译器不能和–module一起使用–out对吧?
到目前为止,我不知道如何将这个’react-typescript’javascript模块转换为内部打字稿模块.因此,在我看来,继续的唯一方法是将所有引用标记更改为需要调用.
我的疑问是,如果这是正确的方法,还是有另一种方法?
由于我有这么多文件和很多依赖项,我担心所有这些需要调用会不必要地使最终代码复杂化,甚至可能影响性能?
最佳答案
the compiler cannot use –out together with –module, right
是.外部模块和–out目前是互斥的.但是,您可以跟踪功能请求:https://github.com/Microsoft/TypeScript/issues/17
My question is if this is the right approach or if there is another way
对于您计划扩展的任何项目,建议使用外部模块. Libs是 – 但不是应用程序的有效目标.
Since I have so many files and so many dependencies, I’m worried that all these require calls would unnecessarily complicate the final code
不需要痛苦.看看:https://github.com/grunt-ts/grunt-ts#transforms
possible even effect the performance?
与网络下载速度相比,任何性能影响(速度)都是最小的.在我的系统上大约5ms用于3megs的js文件,用于requirejs来做它的东西.