【问题标题】:Nodejs asset managementNodejs 资产管理
【发布时间】:2013-05-13 16:53:45
【问题描述】:

评估 Nodejs 并尝试看看它是否符合我们的需求。来自 Rails 世界,尽管搜索了很长时间,但我仍有一些未解决的问题。

  1. 使用 Nodejs (Expressjs) 管理资产的最佳方式是什么?在 Rails 中,静态资产是 a) 指纹用于永久缓存 b) js 和 css 被缩小 3) scss 被编译为 css

  2. 处理用户上传的图像(例如头像)的最佳方式是什么?

  3. grunt 是否有助于缩小和压缩 html/css/javascript?

  4. 如何避免使用 Node.js 向服务器发送多个 http 请求。我不想为我需要的每个 javascript 资产发出多个 http 请求。 Rails 通过组合所有 js 和 css 文件来提供帮助。

  5. 另外,Mongodb 是大多数项目的首选解决方案吗?我听到了很多关于 Mongodb 的坏话和关于它的好话。从长远来看,很难确定 Mongo 是否可以帮助读取比写入更多的数据(可能有 400-500 GB 数据)。

任何帮助或指示?非常感谢您花时间为我指出正确的地方。

【问题讨论】:

    标签: node.js assets asset-management


    【解决方案1】:

    对于您提到的每一点,我都会为您提供一些可能适合您需要的模块示例。请记住,在每一点上都有更多的模块用于相同的目的:

    1. node-static(作为静态文件服务器)、node-uglify(用于缩小 JS 代码)、css-clean(同样适用于 CSS)、merge-jssqwishjake 可以提供帮助搭建网站(在这一步你可以插入前面的模块)

    2. node-formidable很有名

    3. 看看这个question

    4. 查看此question

    5. 我不确定它是否是“首选”。正是它的 noSQL 和 Javascript 特性使它具有吸引力。每种类型的数据库都有模块。 ongo 应该处理这些数据。还取决于一份文件有多大。有一些限制。

    NodeJS 项目中有this Github Wiki 页面,其中列出并分类了许多重要的模块。

    模块的确切选择还取决于您将使用什么框架来构建应用程序。一个相当成熟的(但肯定不是唯一的)是express。但是你可以在here找到更多关于这个主题的信息。

    【讨论】:

    • 非常感谢!有没有办法在编译时而不是运行时管理资产(组合、缩小、指纹识别、压缩)?我更喜欢在编译时将它们全部完成,并尽可能避免在运行时完成(抱歉,也许我的想法太混乱了)
    • 这只是一次快速的头脑风暴。我相信许多其他人可以添加更多的模块和工具。但是许多人偏向于他们使用的东西(就像我向您指出上述那些时一样。)请记住,对于您想要的每一个功能,您都有很多选择。
    • UglifyJS 和 clean-css 都有命令行工具,您可以在发布时将其插入系统并让它们完成工作。 (而且,没有编译时间:develop -> run;在你的情况下:develop -> minify/combine/uglify -> run)
    • 再次感谢!我将尝试其中一些模块,看看它们是否合适。如果我们即时进行指纹/缩小/gzip(就像其中一些模块所做的那样),它们是每次都这样做还是第一次这样做?
    • 我无法回答这个问题。不是根据我所知道的(根据我所使用的)。我们一直在生产服务器上预先缩小它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多