打字稿的编译取决于文件的顺序
Typescript compilation depends on order of files
我正在开发打字稿库,我想在我的Web应用程序中使用它。
我想将所有库文件编译成单个库.js文件。
我尝试将 ts 编译器与 tsconfig.json 文件一起使用,以及使用 gulp 任务进行编译,但在这两种情况下,输出文件中的类顺序都有问题。
生成的代码也有很多IIFE
var MyLibrary;
(function (MyLibrary) {
.....
})(MyLibrary || (MyLibrary = {}));
我想它应该只在那里一次,而不是每个班级,对吧?
My tsconfig.json:
{
"compilerOptions": {
"module": "amd",
"noImplicitAny": false,
"removeComments": true,
"preserveConstEnums": true,
"outFile": "dist/js/floor-map-designer.js",
"sourceMap": true
},
"exclude": [
"node_modules",
"dist",
"src/app.ts"
]
}
和 gulp 任务配置:
var tsProject = ts.createProject({
declarationFiles: true,
noExternalResolve: false,
module: 'AMD',
removeComments: true,
outFile: "my-library.js",
exclude: ["app.ts", "config.ts"]
});
var paths = {
npm: './node_modules/',
lib: "./lib/vendor/",
tsSource: ['./src/MyLibrary/**/*.ts', "./lib/typings/tsd.d.ts"],
tsOutput: "./dist/js/",
tsDef: "./lib/typings/"
};
gulp.task('ts-compile', function () {
var tsResult = gulp.src(paths.tsSource)
.pipe(ts(tsProject));
return merge([
tsResult.dts.pipe(gulp.dest(paths.tsDef)),
tsResult.js.pipe(gulp.dest(paths.tsOutput))
]);
});
我记得上次我使用 TypeScript 时,我用来创建自动生成的参考文件,其中包含大量
/// <reference path="...."
并添加 /// <ts:autoRef="referencesFile.ts">
到所有 .ts 文件。
但是我注意到 TS 编译器不应该再依赖于文件顺序,我的 IDE 不再需要它,所以如果可能的话,我想避免它。
我还注意到使用 --out 选项被认为是不好的(至少根据这个网站:https://github.com/TypeStrong/atom-typescript/blob/master/docs/out.md(,但如何替换它?
我正在使用打字稿 1.7。
我还注意到使用 --out 选项被认为是不好的(至少根据这个网站:https://github.com/TypeStrong/atom-typescript/blob/master/docs/out.md(,但如何替换它?
使用模块 : https://basarat.gitbooks.io/typescript/content/docs/project/modules.html
在您的情况下更改:
module: 'AMD',
removeComments: true,
outFile: "my-library.js",
自
module: 'amd',
removeComments: true,
并使用模块加载器(对于 amd,这将是 requirejs http://requirejs.org/(
- 如何在php中按元素按字母顺序排列json文件
- 带有 CommonsChunkPlugin 的 Webpack 会导致 html 文件中的捆绑顺序错误
- 是否可以通过 AJAX *按顺序*上传文件
- 可以在Rails4中更改JavaScript文件的加载顺序吗
- 如何通过grunt contrib uglify按顺序缩小js文件
- zend按顺序加载js文件
- 使用grunt以正确的顺序插入ember文件
- Gulp-Concat文件的顺序然后是任何其他的js文件
- 分开的javascript文件和按相同顺序合并的文件在技术上有什么区别
- Javascript文件依赖项未通过清单顺序解决
- 如何在多个文件中设置摩卡测试用例的执行顺序
- Rails 指定 JavaScript 文件的加载顺序
- 按 csv 文件的顺序读取列
- blueimp jQuery 文件上传新文件顺序
- 尽管文件顺序正确,但$highcharts不是一个函数
- 播放MP3文件顺序没有HTML5音频与JavaScript
- Gulp-uglify不保存文件顺序
- 节点.js服务器读取文件顺序
- 处理与 WebPack 串联有关的文件顺序
- gulp中不可预测的文件顺序