Meteor - Package.js

Meteor - Package.js 首页 / Meteor入门教程 / Meteor - Package.js

在本章中,无涯教程将学习如何创建自己的Meteor包。

创建包

让无涯教程在桌面上添加一个新文件夹,在其中创建软件包,无涯教程将使用命令提示符窗口。

C:\Users\username\Desktop\meteorApp> mkdir packages

现在,无涯教程可以在上面创建的文件夹中创建包,从命令提示符处运行以下命令,用户名是Meteor Developer用户名,而 package-name 是程序包的名称。

C:\Users\username\Desktop\meteorApp\packages>meteor create --package username:package-name

添加包

为了能够将本地软件包添加到无涯教程的应用程序,无涯教程需要设置环境变量,它将告诉Meteor从本地文件夹加载软件包。右键单击计算机图标,然后选择属性/高级系统设置/环境变量/新建。

变量名称应为 PACKAGE_DIRS。变量值应该是无涯教程创建的文件夹的路径。在本例中,为 C:\Users\username\Desktop\meteorApp\packages 。

添加新的环境变量后,不要忘记重新启动命令提示符。

现在,无涯教程可以通过运行以下代码将软件包添加到无涯教程的应用中:

C:\Users\username\Desktop\meteorApp>meteor add username:package-name

打包文件

在无涯教程创建的包中将找到以下四个文件。

  • package-name-test.js
  • package-name.js
  • package.js
  • README.md

测试包

Meteor提供了 tinytest 软件包进行测试。首先,在命令提示符窗口中使用以下命令安装它。

C:\Users\username\Desktop\meteorApp>meteor add tinytest

如果打开 package-name-test.js ,无涯教程将看到默认的测试示例,无涯教程将使用此示例测试应用程序,注意:开发Meteor包时最好编写无涯教程自己的测试。

要测试该软件包,让无涯教程在命令提示符下运行此代码。

C:\Users\username\Desktop>meteor test-packages packages/package-name

无涯教程将得到以下输出。

Meteor Package Test

package.js文件

这是无涯教程可以编写代码的文件,让无涯教程为包创建一些简单的功能,无涯教程的软件包将在控制台中记录一些文本。

packages/package.js

myPackageFunction = function() {
   console.log('This is simple package...');
}

package-name.js文件

这是无涯教程可以在其中设置某些程序包配置的文件,无涯教程稍后会再讨论,但是现在无涯教程需要导出 myPackageFunction ,以便可以在应用程序中使用它,无涯教程需要在 Package.onUse 函数中添加此代码。

packages/package-name.js

Package.describe({
   name: 'username:package-name',
   version: '0.0.1',
   
   //简要的总结
   summary: '',
   
   //包含此包源代码的 Git 存储库的 URL。
   git: '',
   
   //默认情况下,Meteor 将默认使用 README.md 作为文档。
   
   //为避免提交文档,请将此字段设置为 null。
   documentation: 'README.md'
});

Package.onUse(function(api) {
   api.versionsFrom('1.2.1');
   api.use('ecmascript');
   api.addFiles('mypackage.js');
   api.export('myPackageFunction'); //我们正在导出我们在上面创建的函数......
});

Package.onTest(function(api) {
   api.use('ecmascript');
   api.use('tinytest');
   api.use('username:package-name');
   api.addFiles('package-name-tests.js');
});

使用包

现在,无涯教程终于可以从无涯教程的 meteorApp.js 文件中调用 myPackageFunction()了。

packages/package.js

if(Meteor.isClient) {
   myPackageFunction();
}

控制台将记录无涯教程程序包中的文本。

Meteor Package Log

为了更好地理解如何配置 package.js 文件,无涯教程将使用Meteor官方文档中的示例。

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/meteor/meteor-packagejs.html

来源:LearnFk无涯教程网

/* 关于这个包的信息 */
Package.describe({
   
   //简短的总结。
   summary: "What this does",

   //版本号。
   version: "1.0.0",

   //可选。默认是包目录名称。
   name: "username:package-name",

   //源存储库的可选 github URL。
   git: "https://github.com/something/something.git",
});

/* 这定义了您的实际包 */
Package.onUse(function (api) {

   //如果没有为 'api.use' 依赖项指定版本,请使用一个在 Meteor 0.9.0 中定义。
   api.versionsFrom('0.9.0');

   //使用 Underscore 包,但仅在服务器上。
   api.use('underscore', 'server');

   //使用 iron:router 包,版本 1.0.0 或更新版本。
   api.use('iron:router@1.0.0');

   //授予此包的用户对模板包的访问权限。
   api.imply('templating')

   //将对象“电子邮件”导出到使用此包的包或应用程序。
   api.export('Email', 'server');

   //指定包的源代码。
   api.addFiles('email.js', 'server');
});

/* 这定义了包的测试 */
Package.onTest(function (api) {

   //设置对这个包的依赖
   api.use('username:package-name');

   //允许您使用“tinytest”框架
   api.use('tinytest@1.0.0');

   //指定包测试的源代码
   api.addFiles('email_tests.js', 'server');
});

/* 这使您可以在包中使用 npm 包*/
Npm.depends({
   simplesmtp: "0.3.10",
   "stream-buffers": "0.2.5"
});

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

软件测试52讲 -〔茹炳晟〕

Go语言核心36讲 -〔郝林〕

大规模数据处理实战 -〔蔡元楠〕

如何看懂一幅画 -〔罗桂霞〕

分布式数据库30讲 -〔王磊〕

技术管理案例课 -〔许健〕

MySQL 必知必会 -〔朱晓峰〕

技术面试官识人手册 -〔熊燚(四火)〕

Spring编程常见错误50例 -〔傅健〕

好记忆不如烂笔头。留下您的足迹吧 :)