У нас есть веб-сайт ASP.NET 3.5 (IIS Application Pool 2.0). Мы разрабатываем его с Visual Studio 2013 update4 in Windows8.1.
Проблема заключается в том, что: Когда я Минимизировать файлы JavaScript (с Web Essentials, расширение) и изменять файлы ASPX для использования вновь созданного min.js-файлы, отладчик Visual Studio или любой другой браузер обыкновение работы правильно. Мы ожидали, что мы работаем на оригинальном JS файла (поставить точку останова и т.д...), И веб-браузер работает это уменьшенная min.js-файл (так отношения существуют в карты файла), но в Визуальном Студия моих точек разлома превращается в полый желтый круг (с подсказкой: В настоящее время точка останова не будет удалена. Символы не были ...) даже после обновления страницы с нажатием Ctrl + F5 и при отладке Chrome странные проблемы происходят, например: значение переменной не может быть прочитано, точка прерывания не попадает в нужное место и. , ,
На данный момент я пытаюсь очистить, перестроить веб-проект в Visual Studio, сбросить настройки Internet Explorer и Chrome и обновить расширение Visual Studio и веб-Essentials и снова обновить файлы JavaScript с новой версией.Отладка мини-JavaScript в Visual Studio с исходными картами
ответ
Строительство далее этот ответ на другой аналогичный вопрос: https://stackoverflow.com/a/27117035/19594
Простой sourcemaps файл выглядит примерно так:
{
version : 3,
file : "someFile.js",
sourceRoot : "/",
sources : ["some/relative/path/someFile.ts"],
names : ["bla", "bla", "bla"],
mappings: "aaaG,agAA,agGG,acAA"
}
Если значения sources
или sourceRoot
относительные пути (как в приведенном выше пример), Visual Studio не будет знать, к каким исходным файлам подключиться.
Вам необходимо установить либо sources
, либо sourceRoot
, чтобы указать на абсолютный путь. Возможно, вы можете сделать это одним из нескольких способов:
Либо вручную редактируйте файл .js.map, чтобы отразить абсолютный путь. Например:
{
version : 3,
file : "someFile.js",
sourceRoot : "c:\my-absolute-root-path/",
sources : ["some/relative/path/someFile.ts"],
names : ["bla", "bla", "bla"],
mappings: "aaaG,agAA,agGG,acAA"
}
Или настройте генератор исходной карты, чтобы испустить полный путь. Я использовал gulp
и gulp-sourcemaps
вроде этого:
var gulp = require("gulp");
var concat = require("gulp-concat");
var rename = require("gulp-rename");
var sourcemaps = require("gulp-sourcemaps");
var uglify = require("gulp-uglify");
var srcFiles = ["**/*.js"];
var distPath = "dist/";
gulp.task("default", function() {
return gulp.src(jsSrcFiles)
.pipe(sourcemaps.init())
.pipe(concat("app.js"))
.pipe(uglify())
.pipe(rename("app.min.js"))
.pipe(sourcemaps.write(".", { includeContent: false, sourceRoot: "C:\my-absolute-root-path" }))
.pipe(gulp.dest(distPath));
});
Спасибо, за ответ. Я больше не использую мини-JavaScript. –
Простого ответ на это не использовать уменьшенные файлы JavaScript, когда вы разрабатываете. То же самое для производства. –