ОБНОВЛЕНИЕ: после того, как на другом компьютере начались проблемы с просмотром и компиляцией, я думаю, что это может иметь какое-то отношение к файлам 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
Я работал с Typescript (0.9.5), используя Sublime (не VS) с node / npm, grunt
и grunt-ts
. Grunt / Grunt-ts был настроен так, чтобы отслеживать изменения в .ts
файлах в каталоге, а затем компилировать их в .js
. Все файлы проекта, включая локальные модули npm, хранятся в Dropbox, и каждый компьютер, на котором я разрабатываю, также grunt-cli
установлен глобально. Все работало отлично в течение пары недель, а затем на прошлой неделе я увидел, что Typescript 1.0RC доступен, поэтому я попытался изменить зависимость grunt-ts
с 0.9.5 на 1.0, чтобы посмотреть, будет ли она работать. Что ж, это не так, поэтому я удалил grunt-ts
и снова установил его. Он по-прежнему отлично работает на 2 из 3 моих компьютеров, но по какой-то причине мой основной (тот, на котором я инициировал изменения) больше не будет успешно просматривать каталог и перекомпилировать. Я удалил node, удалил каталоги модулей npm, которые смог найти (один, где был установлен node, а затем 2 в appdata / roaming - одна из которых была папкой кеша), а затем повторно установил только те вещи, которые у меня есть на других ПК, но это не имело никакого значения. Самая раздражающая часть заключается в том, что ошибок нет, он просто остается там после начальной компиляции, которая происходит, когда я запускаю grunt
из папки проекта ... никогда не обновляюсь при изменении файла ... Если я запускаю grunt
на другом компьютере и создаю файл изменяется, как только Dropbox синхронизирует данные, которые компьютер просматривает и компилирует нормально.
Помимо попытки найти место, где кешируется какая-то старая информация о npm / узлах, у меня нет идей, что попробовать ...
Хотя это не имеет значения, поскольку он работает на других ПК через Dropbox, вот файл grunt:
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"]);
};
Package.json:
{
"devDependencies": {
"grunt": "~0.4.1",
"grunt-ts": "~1.7.2-2",
"typescript": "0.9.5"
}
}