1

我正在做一个使用 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 文件也有同样的问题。

4

1 回答 1

1

咕噜声(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

于 2014-04-06T09:44:24.333 回答