Mar*_*ahn 5 javascript source-maps
我有一个构建脚本,通过uglifyjs运行我的所有代码,做一些花哨的缓存,最终运行eval( code )在一些JavaScript文件上.
我正在尝试使用源映射启动和运行整个过程,但只要我正在使用,我似乎无法使其工作eval.如果我直接使用<script src="...">它链接到文件工作正常.
在我的eval代码中,我有:
code, blah blah blah
//@ sourceMappingURL=/cache/618a67795c7460184bd9b99020cbb9fd.map
Run Code Online (Sandbox Code Playgroud)
然后在那个.map文件中,我有:
{
"version" : 3
, "file" : "618a67795c7460184bd9b99020cbb9fd.map"
, "sources" : ["/js/Parallax-JS/js/parallax-2.js"]
, "names" : [
"a"
, "bunch"
, "of"
, "variable"
, "names"
]
, "mappings" : "... LONG MAP ..."
}
Run Code Online (Sandbox Code Playgroud)
我试过把它放在//@ sourceURL=最后,至少给了我正确的文件名,但仍然没有可读源.
有任何想法吗?在Chrome 25(dev)和26(canary)中进行测试
我遇到了类似的问题,解决方案似乎是使用内联的SourceMaps(SourceMap的DataURL).
这是一个例子:
eval("blah blah\n//@ sourceMappingURL=data:application/json;base64,...");
好像你不能从eval引用外部资源.
我认为您还需要使用sourcesContent将源代码插入SourceMap.
使用Chrome 32进行测试.
Kim*_*m T -2
这是使用 Grunt 将 javascript 编译为单个文件的设置,使用 uglify 和源映射
包.json
"src": {
"js": "src/js"
},
"dest": {
"js": "bin/js"
}
Run Code Online (Sandbox Code Playgroud)
Gruntfile.js
grunt.initConfig({
/**
* Loading in the package file to read source and destination directories
*/
pkg: grunt.file.readJSON('package.json'),
uglify: {
options: {
banner: '/* all.min.js <%= grunt.template.today("dd-mm-yyyy") %> */\n',
sourceMap: '<%= pkg.dest.js %>/all.min.js.map',
sourceMappingURL: 'all.min.js.map',
sourceMapRoot: '../../',
mangle: false
/*mangle: {
except: ['jQuery']
}*/
},
js: {
src: [
'<%= pkg.src.js %>/**/*.js'
],
dest: '<%= pkg.dest.js %>/all.min.js'
}
}
};
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.registerTask('min', ['uglify']);
Run Code Online (Sandbox Code Playgroud)
这会创建以下文件:
all.min.js
/* all.min.js 04-10-2013 */
angular.module("App",[])
//# sourceMappingURL=all.min.js.map
Run Code Online (Sandbox Code Playgroud)
all.min.js.map
{"version":3,"file":"bin/js/all.min.js","sources":["src/js/App.js"],"names":["angular","module"],"mappings":"AAeAA,QAAQC","sourceRoot":"../../"}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2099 次 |
| 最近记录: |