【发布时间】:2014-04-05 13:21:32
【问题描述】:
更新:在另一台计算机开始出现观看和编译问题后,我认为它可能与编译时生成的 tscommandxxxxxx.tmp.txt 文件有关...有时它们不会被删除它完成了,其他时候它们永远不会出现
更新 2:我认为这个偶尔出现的错误可能会起作用:
Error happened in chokidar: { [ Error: EONOENT, stat 'C:\Users\me\dropbox\xxx\xxx\myApp\src\.subl3cb.tmp'] errno: 34, code: 'ENOENT', path: 'C:\\Users\\me\\dropbox\\xxx\\xxx\\myApp\\src\\.subl3cb.tmp' }
当我去寻找那个临时文件时,它不在那里,所以我无法尝试阅读它。除了 grunt-ts 的依赖之外,我对 chokidar 一无所知
我一直在使用带有 node/npm、grunt 和 grunt-ts 的 Sublime(不是 VS)来使用 Typescript (0.9.5)。 Grunt/Grunt-ts 被设置为监视一个目录以查看对.ts 文件的更改,然后将它们编译为.js。包括本地 npm 模块在内的所有项目文件都存储在 Dropbox 上,我开发的每台计算机也全局安装了 grunt-cli。几周以来一切都很好,然后上周我看到 Typescript 1.0RC 可用,所以我尝试将 grunt-ts 依赖项从 0.9.5 更改为 1.0 以查看它是否可以工作。好吧,它没有,所以我卸载了grunt-ts 并重新安装了它。它在我的 3 台 PC 中的 2 台上仍然可以正常工作,但由于某种原因,我的主要一台(我启动更改的那台)将无法成功查看目录并重新编译。我已经卸载了节点,删除了我能找到的 npm 模块目录(一个安装了节点,然后在 appdata/roaming 下安装了 2 个 - 其中一个是缓存文件夹),然后只重新安装了我在其他 PC 上拥有的东西,但这并没有什么不同。最烦人的部分是没有错误,它只是在我从项目文件夹运行grunt 时发生的初始编译之后就坐在那里......从不更新文件更改......如果我在另一个上运行grunt pc 并进行文件更改,一旦 Dropbox 同步 PC 观看并编译正常。
除了试图找到一些旧的 npm/node 信息被缓存的地方之外,我不知道该尝试什么......
尽管它可以通过 Dropbox 在其他 PC 上运行,但这并不重要,这里是 gruntfile:
module.exports = function (grunt) {
"use strict";
grunt.initConfig({
ts: {
options: {
target: 'es5',
module: 'amd',
sourcemap: true,
declaration: false,
nolib: false,
comments: false
},
dev: {
src: ["src/**/*.ts"],
watch: 'src',
outDir: 'src'
}
},
});
//load the task
grunt.loadNpmTasks("grunt-ts");
grunt.registerTask("default", ["ts:dev"]);
};
包.json:
{
"devDependencies": {
"grunt": "~0.4.1",
"grunt-ts": "~1.7.2-2",
"typescript": "0.9.5"
}
}
【问题讨论】:
标签: node.js gruntjs typescript npm