我在 TypeScript 项目的属性中找到了 TypeScript Build 选项卡。该选项卡上有一个有趣的功能,称为:“将 JavaScript 输出合并到文件中:”。这似乎按预期工作,但由于某种原因似乎弄乱了智能感知。
当组合 js 输出文件的选项打开时,intellisense 停止工作(ctrl+space 不执行任何操作)。但语法突出显示、构建和重构仍然有效。它会执行此操作,直到该选项关闭并且 VS 重新启动为止。
我安装了 Visual Studio 2013 Update 2 CTP 2 并删除了原始的 typescript 插件(因为它包含在更新中?)。 Web Essentials 已启用,新更新后它不会再崩溃,禁用它也不会修复智能感知。
这是怎么回事?我该如何让它发挥作用?
最佳答案
无论如何,这个问题似乎在较新版本的 typescript 中得到了解决。您使用什么版本的 typescript ?
如果您无法升级您的 typescript 版本,那么使用内置单文件输出之外的内容是否适合您?如果是这样,您应该考虑使用 grunt-ts-bundle
。
grunt.initConfig({
bundle: {
main: {
rootModule: 'plat',
license: './license.txt',
version: '<%= pkg.version %>',
src: './index.html',
dest: [
'./out.ts'
],
preSave: function (data, done) {
done(data);
}
}
}
});
grunt.loadNpmTasks('grunt-ts-bundle');
这只是运行 ts-bundle 的一个繁重任务:
https://github.com/Platypi/ts-bundle
然后你可以将文件包装在你的 src (`./index.html) 中,如下所示:
<!-- ts-bundle-start -->
<script src="app/models/user.model.js"></script>
<script src="app/controllers/users.controller.js"></script>
<!-- ts-bundle-end -->
这会将您的 user.model.js
和 users.controller.js
文件合并到一个 out.js
文件中。
如果这对您有用,并且您有任何其他问题或需要澄清,请告诉我 - 祝您好运!
关于javascript - 合并 js 文件时 Typescript Intellisense 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22563899/