将 _attachment 文件合并为 couchapp 中的预处理步骤
Posted
技术标签:
【中文标题】将 _attachment 文件合并为 couchapp 中的预处理步骤【英文标题】:Combine _attachment files as a preprocessing step in a couchapp 【发布时间】:2011-12-08 06:04:28 【问题描述】:我在_attachments
目录中有一个具有以下结构的沙发应用程序:
_attachments/
|-- code
| |-- model.js
| |-- primary.js
| |-- router.js
| `-- view.js
|-- index.html
`-- style
`-- main.css
当我运行couchapp push
时,我希望将_attachments/code
(或_attachments
中的任意目录)中的所有文件组合成一个可以在_attachments/code/index.html
中引用的文件。指定目录中文件的顺序会很有帮助。
compress 文件可以使用 couchapp 挂钩,但我没有看到 combine 它们的简单方法,尤其是因为这可能意味着输出一些中间文件,确保原始文件不被上传,并清理。
钩子是组合文件的最佳方式吗?如果是,你会推荐它如何工作?
【问题讨论】:
【参考方案1】:恐怕我不知道有一个 couchapp 钩子可以做到这一点,但你可以通过使用 Kanso 中的 modules 包来实现类似的东西。它将从目录加载 commonjs 模块,将它们附加到设计文档,然后将它们组合成一个 .js 文件,您可以将它们包含在您的应用程序中。它也可以为你缩小代码。
您可以在此处查看正在使用的模块包:http://kan.so/docs/Using_CommonJS_modules
基本上,您只需将其指向包含您的 JS 模块的目录,然后:
<script src="modules.js"></script>
当然,这意味着将您的 javascript 编写为 CommonJS 模块,但我发现这比在多个脚本中弄乱全局命名空间更可取。
【讨论】:
我希望让 couchapp 来完成这项工作,而不是添加另一个依赖项,但至少 Kanso 已经解决了这个问题。谢谢指点。以上是关于将 _attachment 文件合并为 couchapp 中的预处理步骤的主要内容,如果未能解决你的问题,请参考以下文章