相关疑难解决方法(0)

2013年流星NPM包

更新 此解决方案描述了如何在Meteor中有效使用新的Npm系统.


目前在Meteor中使用NPM包的方法是什么?

截至2013年3月22日,没有关于此的官方文档.

有几个问题,特别是这个,但解决方案似乎已经过时了:引擎分支不再存在,而且我无法Npm.require在Meteor中找到任何内容.

此处发布的另一个解决方案指示安装到.meteor/构建文件夹中.当我安装到Heroku时,这似乎不是一个有效的解决方案,因为buildpack meteor bundle在运行之前使用捆绑程序.因此,临时构建文件夹似乎不是一个有效的选项.

流星中的Npm发生了什么?使用Npm包的最新方法是什么?

在相关的说明中,我正在尝试使用亚马逊SDK(针对s3) - 将包装为陨石包更好吗?

node.js npm meteor

21
推荐指数
2
解决办法
5665
查看次数

如何在meteor.com上的Meteor应用程序中部署节点模块?

我有一个应用程序,它使用可通过的节点twit模块

npm install twit
Run Code Online (Sandbox Code Playgroud)

我从.meteor/local/build/server /本地部署了节点模块

因此,它在.meteor/local/build/server/node_modules/twit中可见

我尝试在项目根目录下安装它,但项目没有找到模块.这使我得到了上述有效的解决方案.

我的应用程序现在运行正常.我可以运行并做所有事情,并可以从我的Meteor服务器端或客户端与Twitter进行交互,具体取决于我想要做什么.没有崩溃.

当我通过命令部署到meteor.com时

meteor deploy [appname] --password
Run Code Online (Sandbox Code Playgroud)

应用程序成功部署.

当我尝试从浏览器访问(anonistream.meteor.com上的应用程序)[anonistream.meteor.com]时,它失败并且日志包含此错误.

[Mon May 07 2012 01:59:53 GMT+0000 (UTC)] WARNING
node.js:201
   throw e; // process.nextTick error, or 'error' event on first tick
         ^
Error: Cannot find module 'twit'
at Function._resolveFilename (module.js:332:11)
at Function._load (module.js:279:25)
at Module.require (module.js:354:17)
at require (module.js:370:17)
at app/server/server.js:2:12
at /meteor/containers/84162a7c-24e8-bf26-6fd8-e4ec13b2a935/bundle/server/server.js:111:21
at Array.forEach (native)
at Function.<anonymous>
 (/meteor/containers/84162a7c-24e8-bf26-6fd8-     e4ec13b2a935/bundle/server/underscore.js:76:11)
at /meteor/containers/84162a7c-24e8-bf26-6fd8-e4ec13b2a935/bundle/server/server.js:97:7
[Mon May 07 2012 01:59:53 GMT+0000 (UTC)] INFO STATUS running -> waiting
[Mon …
Run Code Online (Sandbox Code Playgroud)

meteor

19
推荐指数
3
解决办法
6525
查看次数

我们在一个Meteor项目中将npm安装的节点模块放在哪里?

我跟着github meteorirc项目的主角并将它们放入/ public /

我从内部/ public /通过npm安装了我的节点模块,因此我有一个/ public/node_modules /目录.

我不认为这是他们的'正确'或'标准'的地方,因为根据Meteor文档......

Meteor收集所有JavaScript文件,不包括客户端和公共子目录下的任何内容,并将它们加载到光纤内的Node.js服务器实例中

要加载的代码位于服务器目录和服务器js文件中,看起来像这样.

var require = __meteor_bootstrap__.require;

var path = require("path");
var fs = require('fs');
var base = path.resolve('.');
if (base == '/'){
  base = path.dirname(global.require.main.filename);   
}

var Twit;
var twitPath = 'node_modules/twit';
var publicTwitPath = path.resolve(base+'/public/'+twitPath);
var staticTwitPath = path.resolve(base+'/static/'+twitPath);
if (path.existsSync(publicTwitPath)){
  Twit = require(publicTwitPath);
}
else if (path.existsSync(staticTwitPath)){
  Twit = require(staticTwitPath);
}
else{
  console.log('WARNING Twit not loaded. Node_modules not found');
}
Run Code Online (Sandbox Code Playgroud)

根据文档,这不是标准的,我不相信我应该这样做.然而,它在我的开发平台和部署meteor.com的生产中都有效.

在项目的目录结构中应该安装节点模块,以便它们在本地工作,并在meteor.com或其他地方部署?

javascript meteor

10
推荐指数
1
解决办法
7411
查看次数

在Meteor 1.0中加载NPM包?

随着Meteor的正式发布,是否有一种可靠的方式来使用NPM包?我正在尝试使用embed.ly,但我没有看到任何直接的方法.

另外,作为流星新手,如何在我的文件中包含包?我没有看到任何"要求"或"出口"功能.

谢谢!

node.js npm meteor

8
推荐指数
2
解决办法
3628
查看次数

如何在Meteor客户端中使用npm模块?

我对如何在Meteor客户端代码中使用npm模块感到困惑.

我理解像fs这样的模块只能在服务器端工作,但在这种情况下,我想使用这样一个简单的文本模块来显示漂亮的日期:

https://github.com/ecto/node-timeago

我已经尝试在/ public/node_modules下安装模块,它在服务器端按照SO的说明工作得很好:( 我们如何通过npm与Meteor一起使用节点模块?)

Meteor.startup(function () {
  var require = __meteor_bootstrap__.require
  var timeago = require('timeago')
  console.log(timeago(new Date()))
  ...
Run Code Online (Sandbox Code Playgroud)

但是它在客户端代码中不起作用:

if (Meteor.is_client) {
  var require = __meteor_bootstrap__.require
  var timeago = require('timeago')
  console.log(timeago(new Date()))
  ...

Uncaught ReferenceError: __meteor_bootstrap__ is not defined"
Run Code Online (Sandbox Code Playgroud)

在这种情况下,服务器端对我来说没用,因为我正在尝试在客户端上呈现文本.

node.js meteor

7
推荐指数
1
解决办法
3328
查看次数

如何使用Meteor的剖析器?

我的Meteor应用程序,在服务器端(节点进程),使用的CPU比可接受的多得多,我想调查它.

两个并发客户端是领先节点,使用100%的CPU.它可能与大量使用观察者有关,但我需要在更改整个应用程序之前进一步调查它.

那么,我可以使用什么工具来分析它?如何使用它?

profiler profiling node.js meteor

7
推荐指数
1
解决办法
2212
查看次数

标签 统计

meteor ×6

node.js ×4

npm ×2

javascript ×1

profiler ×1

profiling ×1