首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在node.js中使用require.js压缩响应

如何在node.js中使用require.js压缩响应
EN

Stack Overflow用户
提问于 2013-08-15 01:12:24
回答 1查看 1.7K关注 0票数 1

我有一个常规的express.js应用程序,我正在使用

代码语言:javascript
复制
app.use(express.compress())

为了压缩gzip响应,现在当我转到node.js中的常规视图页面时,它们都显示为在浏览器中使用gzip提供服务。但是当我进入backbone应用程序的页面时,响应并没有被压缩。也许我在这里漏掉了什么。这是我的app.coffee的样子:

代码语言:javascript
复制
app = express()
app.use(express.compress())

app.set "port", process.env.PORT or 3000
app.set "views", __dirname + "/views"
app.set "view engine", "jade"
app.engine 'hamlc', require('haml-coffee').__express

app.use express.favicon()
app.use express.logger("dev")
app.use express.bodyParser()
app.use express.methodOverride()
app.use express.static(path.join(__dirname, "public"))
app.use('/dist', express.static(__dirname + '/dist'));
app.use('/docs', express.static(__dirname + '/docs'));
app.use('/tmp', express.static(__dirname + '/tmp'));

app.use require('connect-assets')()

对我来说,它就像是一个普通的app.coffee。这就是require.js在视图中的加载方式。

代码语言:javascript
复制
- if(settings.env == 'production')
  script(type='text/javascript', data-main='/dist/js/main.js',       src='javascripts/backbone/marionette/require.js')
- else
  script(type='text/javascript', data-main='javascripts/backbone/main.js', src='javascripts/backbone/marionette/require.js')

backbone应用程序加载得很好,唯一的问题是,它没有压缩。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2013-08-15 02:25:40

在ZingProject.com,我们使用Express3.2.6,和你们一样,我们确保gzip压缩如下:

代码语言:javascript
复制
app.use(express.compress());

在Chrome中验证的传输大小减少了20%-80%,只需添加这一行,这样我们就知道它是有效的。

您如何验证传输未压缩?在Chrome检查器中,在网络选项卡上,您将看到包含两个数字的传输大小。一个是传输的网络数据量,另一个是文件的实际未压缩大小。如果数字不同,则您的压缩工作正常。如果这些数字是相同的,那么确实有什么不对劲。Firebug只显示网络传输大小,所以如果您使用Firefox,则必须打开和关闭压缩,并比较每个传输的大小。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18238074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档