首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Meteor:在构建过程中下载文件

Meteor:在构建过程中下载文件
EN

Stack Overflow用户
提问于 2013-11-21 03:59:07
回答 2查看 240关注 0票数 1

是否有人有管理智能包的构建过程的经验,以便可以下载和提供外部文件?

例如,一个封装了javascript库的meteor智能包可以在构建应用程序时curl该库,并直接从服务器提供该库。这对于jquery-ui、Ace编辑器等很有用。

具体地说,我问的是正确使用Package._transitional_registerBuildPlugin的方法,它是在0.6.5中引入的。任何例子都是很棒的。

Grepping Meteor代码只显示添加源处理程序的内容,因此对于决定如何下载文件没有太大帮助。

代码语言:javascript
复制
./packages/templating/package.js:Package._transitional_registerBuildPlugin({
./packages/stylus/package.js:Package._transitional_registerBuildPlugin({
./packages/meteor/package.js:Package._transitional_registerBuildPlugin({
./packages/coffeescript/package.js:Package._transitional_registerBuildPlugin({
./packages/less/package.js:Package._transitional_registerBuildPlugin({

一个相关的问题:允许智能包写入自己的.build文件夹的是什么?

EN

回答 2

Stack Overflow用户

发布于 2013-11-21 08:16:05

我知道这并不完全是对你问题的回答,但我忍不住要发表这个想法:)

我想到的最简单的事情就是按照您的建议使用curl实现一个简单的“代理”服务器。它可能或多或少类似于:

代码语言:javascript
复制
var spawn = Npm.require('child_process').spawn;

WebApp.connectHandlers.stack.splice (0, 0, {
  route: '/jquery.js',
  handle: function(req, res, next) {
    spawn('curl', [
        'https://code.jquery.com/jquery-1.10.2.min.js'
      ]).stdout.pipe(res);
    res.writeHead(200, {
      'Content-Type': 'text/javascript'
    });
  },
});

尽管如此,它并没有解决-开箱即用-控制加载顺序的问题。

编辑

如果您不想在每次用户请求文件时都调用curl,那么您总是可以将其缓存在服务器上的某个地方,对吧?此外,该技术还允许您按需加载附加库,因此仅在实际需要时才加载。请注意,像王牌编辑器这样的东西可能会相当繁重。

票数 0
EN

Stack Overflow用户

发布于 2013-12-03 14:31:00

我最终将其实现为一个build plugin as part of my ShareJS smart package。它不是最漂亮的东西,但它做了它需要做的事情。我的方法是实现一个通用的智能包,用于处理来自Meteor包的CDN下载。

我希望,随着构建API更好地文档化,这样做的路径将变得更容易和更清晰。

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

https://stackoverflow.com/questions/20105730

复制
相关文章

相似问题

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