我正在开发一个庞大的项目,我正在使用Java,TypeScript,Jade和Less。 为了编译项目,我正在使用Maven(Java)+ Grunt(TS,Jade,LESS)。 Grunt是从maven调用的,因为maven驱动整个项目(包括后端)。随着grunt everthing工作完美,但我希望在想法中实时编译,在前端的ctrl + s命令。我正在使用FileWatchers插件,但是有一个问题。 我的html页面引用了bundle.js文件,即通过grunt编译。所有TypeScript文件都编译为JS文件和bundle.js文件。问题是,我无法实时编译bundle.js。我试图为tsc设置一个参数。好像
tsc -out bundle.js "**/*.ts"
问题是,tsc不支持正则表达式。我找到了一些解决方案,但所有这些都需要一些文件定义,需要通过外部工具来完成并且不是自动的。
我不想要这个选项:
tsc -out bundle.js @FileWithTSFiles.txt
tsc -out bundle.js main.ts hello.ts helloWorld.ts
另一种解决方案是可行的,但不了解所有必要的信息。我有一个想法以这种方式使用FileWatchers插件(就像写一个类似的参数)
tsc -out bundle.js $MacroToListAllFilesInProject$
因为这里有一些宏可用。问题是,我需要定义自定义宏来列出文件,我无法找到这样做的地方。
LESS文件存在相同问题。
答案 0 :(得分:1)
Grunt(TS,Jade,LESS)。
如果您使用grunt-ts
,只需使用以下目标:
dev: {
src: ['./**/*.ts'],
out: './bundle.js',
},
参考:https://github.com/grunt-ts/grunt-ts
我想指出,在使用--out
时,您应该使用reference
文件来确定生成的javascript https://github.com/grunt-ts/grunt-ts#javascript-generation-and-ordering