Meteor 1.3:我能从Meteor Shell导入吗?

3
我有一个这样的文件。
const device = new Device({
  host: process.env.GALIL_HOST,
  port parseInt(process.env.GALIL_PORT, 10)
});

export default device;

然而,除了将其公开为全局变量之外,我找不到在shell中访问它的方法。

有没有办法从meteor shell导入?

1个回答

10

根据您的 Meteor 版本,可以从 shell 导入某些符号。


require() - 客户端和服务器,Meteor v1.3+

从 Meteor v.1.3-beta.12 开始,可以从 shell 中使用 require 导入文件。

假设有一个位于源目录之外的文件(即应该在服务器上可用的文件),其路径为

my/file/path/the_file.js

您可以使用以下方法获取包含导出内容的对象:

require('./my/file/path/the_file.js');

(请注意前缀为./)。

或者对于包:

require("meteor/my-package");
在浏览器中,你可以require文件和包,例如:
const { Match, check } = require('meteor/check');

import语句 - 服务器端,Meteor v1.3.3+

从Meteor v1.3.3开始,可以在服务器上使用Meteor shell中的import语句:

import { Match, check } from 'meteor/check';

太棒了!谢谢!你知道是否有任何方法可以在客户端完成相同的操作吗? - corvid
基本上是一样的。require('./client/modules/foo/bar'). - MasterAM
在Meteor shell中从packages目录导入模块的问题已经在1.3.3版本中得到修复:Issue #6271 - Adriano P
@AdrianoP,你说得对。我会更新答案反映这一点。 - MasterAM

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接