2015-03-30 3 views
1

У нас есть веб-сайт 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 с исходными картами

+1

Простого ответ на это не использовать уменьшенные файлы JavaScript, когда вы разрабатываете. То же самое для производства. –

ответ

1

Строительство далее этот ответ на другой аналогичный вопрос: 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)); 
}); 
+0

Спасибо, за ответ. Я больше не использую мини-JavaScript. –