Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
目前在Meteor中使用NPM包的首选方式是什么?_Meteor - Fatal编程技术网

目前在Meteor中使用NPM包的首选方式是什么?

目前在Meteor中使用NPM包的首选方式是什么?,meteor,Meteor,在我的Meteor项目中使用NPM软件包时,一些研究提出了以下软件包: 基本上,您只需将npm软件包安装到meteor项目的根文件夹中,然后包括: var GithubApi = Meteor.require('github'); 这就是我正在做的,它在我的本地主机上运行良好。然后我试图上传到Meteors测试服务器,但它一直崩溃,因为它无法使用这种方法加载我的异步模块,而这种方法正在我的本地服务器上工作。问题在于根目录中的node_modules文件夹一直导致应用程序在meteors服务器

在我的Meteor项目中使用NPM软件包时,一些研究提出了以下软件包:

基本上,您只需将npm软件包安装到meteor项目的根文件夹中,然后包括:

var GithubApi = Meteor.require('github');
这就是我正在做的,它在我的本地主机上运行良好。然后我试图上传到Meteors测试服务器,但它一直崩溃,因为它无法使用这种方法加载我的异步模块,而这种方法正在我的本地服务器上工作。问题在于根目录中的node_modules文件夹一直导致应用程序在meteors服务器上崩溃。但是为了使用Meteor.require包含这些包,它们就必须在这里

因此,我必须按照此线程中的说明来解决问题:

此方法要求我将包npm安装到/public文件夹中。然后我必须使用以下代码来包含包:

  path = Npm.require("path")
  fs = Npm.require("fs")
  base = path.resolve(".")
  isBundle = fs.existsSync(base + "/bundle")
  modulePath = base + ((if isBundle then "/bundle/static" else "/../client/app")) + "/node_modules/"
  async = Npm.require(modulePath + "async")
该线程来自2012年,因此我想知道在服务器上包含NPM模块的当前最佳实践是什么?


我可以通过在客户机目录中包含bundle.js browserified文件来在客户机上包含npm模块,这样就解决了这个问题,但npm使用服务器端的最佳方式是什么?

您的应用程序中不应该有
节点\u模块
文件夹。在大多数情况下,如果您这样做,它甚至不会在开发模式下工作


相反,您应该只在
packages.json
文件(如中所述)中列出必要的包,并让
npm
将它们作为其依赖项进行管理。

您的应用程序中不应该有
node\u modules
文件夹。在大多数情况下,如果您这样做,它甚至不会在开发模式下工作


相反,您应该只在
packages.json
文件(如中所述)中列出必要的包,并让
npm
将它们作为其依赖项进行管理。

那么您的意思是node\u modules文件夹应该在根目录中?K我将在packages.json中列出包,然后我是否只在根目录中安装npm?那么我如何在我的应用程序中使用npm模块?不要手动运行
npm install
<代码>流星npm会为您解决这一问题。此外,您不应该在
节点模块
文件夹中,也不应该在根目录中,也不应该在
/public
中。如果已经创建了一个包,请删除它。ohhh,这样您只需要在packages.json文件夹中定义包。那么您如何要求文件中的包才能使用它呢?哦,nv,它只是ex.var GithubApi=Meteor.require('github');啊,谢谢,它正在工作。这么简单,只需将包添加到packages.json!哇,太棒了。谢谢你是说node_modules文件夹应该在根目录中?K我将在packages.json中列出包,然后我是否只在根目录中安装npm?那么我如何在我的应用程序中使用npm模块?不要手动运行
npm install
<代码>流星npm会为您解决这一问题。此外,您不应该在
节点模块
文件夹中,也不应该在根目录中,也不应该在
/public
中。如果已经创建了一个包,请删除它。ohhh,这样您只需要在packages.json文件夹中定义包。那么您如何要求文件中的包才能使用它呢?哦,nv,它只是ex.var GithubApi=Meteor.require('github');啊,谢谢,它正在工作。这么简单,只需将包添加到packages.json!哇,太棒了。谢谢可能的重复可能的重复