在我们的生产服务器上,我已经缩小了javascript的发布,并且我没有包含它的地图文件,因为我不希望用户能够根据错误了解发生了什么.
我有一个日志服务我写的是通过电子邮件将角度异常(由$ exceptionHandler捕获)转发给自己.但是,此堆栈跟踪几乎不可读:
n is not defined
at o (http://localhost:9000/build/app.min.js:1:3284)
at new NameController (http://localhost:9000/build/app.min.js:1:3412)
at e (http://localhost:9000/build/bower.min.js:44:193)
at Object.g.instantiate (http://localhost:9000/build/bower.min.js:44:310)
at b.$get (http://localhost:9000/build/bower.min.js:85:313)
at d.compile (http://localhost:9000/build/bower.min.js:321:23333)
at aa (http://localhost:9000/build/bower.min.js:78:90)
at K (http://localhost:9000/build/bower.min.js:67:39)
at g (http://localhost:9000/build/bower.min.js:59:410)
at http://localhost:9000/build/bower.min.js:58:480 <ui-view class="ng-scope">
Run Code Online (Sandbox Code Playgroud)
我想知道的是:是否有一个程序,我可以通过地图文件(或不通过地图文件,如果有另一种方式)分析这个堆栈跟踪与实际的非缩小源代码
有没有办法让python的json.dumps(<val>)输出以缩小的形式出现?(即摆脱逗号,冒号等周围的外来空间)
我正在构建一个目前使用来自多个来源的javascript的网站:
第1组: Google Maps API v3(由Google托管)
第2组: jQuery和swfobject(托管在Google CDN上)
第3组:几个jQuery插件和非jquery javascript文件(托管在我的服务器上)
我正在使用Justin Etheredge的工具SquishIt来组合和缩小我服务器上托管的所有javascript文件(第3组).
我想知道如果我在本地托管(组2)中的文件,那么该网站是否会"感觉"更快,以便它们可以与(组3)中的所有其他文件组合,并且只需要一个组的HTTP请求2&3.这意味着我没有从谷歌CDN中获益.
有没有人对此事有任何建议?
编辑: 另外,我如何得到这个问题的基于数字的答案?那可能吗?
我正在使用maven-minify-plugin.它只能生成一个输出文件.我需要生成两个缩小的js文件.一组来自一组文件,另一组来自另一组文件.
我可以以某种方式欺骗Maven为同一插件运行两种不同的配置吗?
谢谢你的帮助,尤里.
我目前正在开始构建PhoneGap应用程序,我知道缩小浏览器代码的优势.但是,我想知道是否值得为我的PhoneGap应用程序缩小我的HTML,JavaScript和CSS代码?
我会理解代码运行得更快可能更快?
如果是这样的话,是否会有一个应用程序可以为我完成所有操作?(当我说为我这样做时,我的意思是在我的机器上取一个目录并缩小保存.min.js版本的代码?或者它是一个简单的文件?)
在此先感谢您的帮助
在:
module.directive 'name', ->
(scope, element, attr) ->
# Whatever implemenation
Run Code Online (Sandbox Code Playgroud)
执行scope,element并attrs链接函数的参数依靠名称推断的依赖注入?如果是的话,我怎样才能使它们成为缩小证明?
或者他们依靠好的旧论据来命令传递给他们的是什么?
我想在我的一个小提琴中使用Twitter的Bootstrap.由于jsFiddle不提供bootstrap作为其预定义库之一,我正在寻找一个缩小的URL.
Twitter的Bootstrap有免费的缩小URL吗?
我有以下情况:我想在开发期间使用未压缩的js/css文件(例如调试js),但在生产时我想自动切换到该文件的缩小版本.
一些简单的解决方案是放入您的模板:
<script src="some_js.{% if not debug %}min.{% endif %}js"....
Run Code Online (Sandbox Code Playgroud)
但这需要manully提供这样的文件存在并在原始文件更改后进行minifaction manullay.
你如何在你的项目中实现这一目标?这有什么工具吗?
我正在编写ES6代码并将其转换为使用Babel的ES5,然后使用Uglify进行缩小.全部通过gulp与webpack一起运行.我想使用外部源映射(以尽可能减小文件大小).
gulp任务非常基本 - 所有时髦的东西都在webpack配置中:
var gulp = require("gulp");
var webpack = require("gulp-webpack");
gulp.task("js:es6", function () {
return gulp.src(path.join(__dirname, "PTH", "TO", "SRC", "index.js"))
.pipe(webpack(require("./webpack.config.js")))
.pipe(gulp.dest(path.join(__dirname, "PTH", "TO", "DEST")));
});
Run Code Online (Sandbox Code Playgroud)
webpack.config.js:
var path = require("path");
var webpack = require("webpack");
module.exports = {
output: {
filename: "main.js",
sourceMapFilename: "main.js.map"
},
devtool: "#inline-source-map",
module: {
loaders: [
{ test: path.join(__dirname, "PTH", "TO", "SRC"),
loader: "babel-loader" }
]
},
plugins: [
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
},
output: {
comments: false,
semicolons: true
}, …Run Code Online (Sandbox Code Playgroud) 我注意到,我每次使用的时间谷歌的关闭编译服务,它留下的呈现在页面的右侧编译代码的一些不必要的空格.这些对应于已编译代码的托管版本中的换行符.
例如(注意换行符,每个换行符似乎都是不必要的):
http://troy.onespot.com/static/stack_overflow/closure_spaces.js
到目前为止,我刚刚手动删除它们,但我很好奇他们为什么会在那里.是否限制代码托管版本的行长度使其更具可读性?编译器是否足够聪明,可以有意留下或插入那些以最大化GZIP压缩工作?
我知道他们对文件大小琐碎的影响,但有这么多的努力进入源脚本,每个字节涅槃,它为什么他们有违反直觉.