我可以为单个平台添加流星包吗
Can I add a meteor package for a single platform
我想将单个包 (ground:db) 添加到我的 meteor 项目中,但它只会在 cordova 构建中使用。因此,如果它不会弄乱 Web 构建上的资产,那就太好了。
这可能吗?
我已经检查了 meteor add 的文档,但没有任何乐趣。
Here 是来自地面数据库的 package.js。
正在尝试将 api.addFiles
替换为此。
api.addFiles([
'groundDB.client.js',
'wrap.collection.js',
'wrap.eventemitter.js',
'wrap.proto.eventemitter.js',
], 'web.cordova');
api.addFiles('groundDB.server.js', 'web.cordova');
});
从这个 Github Question 检查这个额外的信息。
Inside a package today you can do:
api.addFiles('foo.js', 'web.cordova'): includes foo.js in only Cordova/Phonegap builds.
api.addFiles('bar.js', 'web.browser'): includes bar.js in only browser builds.
api.addFiles('baz.js', 'web'): includes baz.js in all client builds.
and also:
api.use('foo:bar', 'web.cordova'): using the package API in only Cordova/Phonegap builds.
api.use('foo:bar', 'web.browser'): using the package API in only browser builds.
api.use('foo:bar', 'web'): using the package API in all client builds.
检查它是否有效。
你必须制作一个新包才能做到这一点,这里有一个快速的分步方法来做你想做的事:
1) 如果您的项目中没有 packages
文件夹,请创建一个
2) 创建一个目录,这样你就有 packages/mobileapp
3) 在mobileapp
目录下创建一个package.js
,内容如下
Package.describe({
summary: "For cordova use only",
});
Package.on_use(function (api) {
if(api.versionsFrom) api.versionsFrom("METEOR@1.0");
api.use(['ground:db'], ['web.cordova']);
});
然后在你的流星的根目录下你可以运行
meteor add mobile
这将确保 ground:db
包仅添加到您的 cordova
构建中。 Web 构建中不会包含任何源代码。
您还可以使用 api.add_files 和 web.cordova
作为体系结构在 Package.on_use
方法中将文件添加到包中,这样只有您在此处列出的文件才会包含在 cordova 构建中但不是 Web 应用程序构建。
与使用 if(Meteor.isCordova)
相比,这样做的好处是您不会在 Web 构建中包含任何不必要的源代码,这有时可以使您的 Web 应用
我想将单个包 (ground:db) 添加到我的 meteor 项目中,但它只会在 cordova 构建中使用。因此,如果它不会弄乱 Web 构建上的资产,那就太好了。
这可能吗?
我已经检查了 meteor add 的文档,但没有任何乐趣。
Here 是来自地面数据库的 package.js。
正在尝试将 api.addFiles
替换为此。
api.addFiles([
'groundDB.client.js',
'wrap.collection.js',
'wrap.eventemitter.js',
'wrap.proto.eventemitter.js',
], 'web.cordova');
api.addFiles('groundDB.server.js', 'web.cordova');
});
从这个 Github Question 检查这个额外的信息。
Inside a package today you can do:
api.addFiles('foo.js', 'web.cordova'): includes foo.js in only Cordova/Phonegap builds.
api.addFiles('bar.js', 'web.browser'): includes bar.js in only browser builds.
api.addFiles('baz.js', 'web'): includes baz.js in all client builds.
and also:
api.use('foo:bar', 'web.cordova'): using the package API in only Cordova/Phonegap builds.
api.use('foo:bar', 'web.browser'): using the package API in only browser builds.
api.use('foo:bar', 'web'): using the package API in all client builds.
检查它是否有效。
你必须制作一个新包才能做到这一点,这里有一个快速的分步方法来做你想做的事:
1) 如果您的项目中没有 packages
文件夹,请创建一个
2) 创建一个目录,这样你就有 packages/mobileapp
3) 在mobileapp
目录下创建一个package.js
,内容如下
Package.describe({
summary: "For cordova use only",
});
Package.on_use(function (api) {
if(api.versionsFrom) api.versionsFrom("METEOR@1.0");
api.use(['ground:db'], ['web.cordova']);
});
然后在你的流星的根目录下你可以运行
meteor add mobile
这将确保 ground:db
包仅添加到您的 cordova
构建中。 Web 构建中不会包含任何源代码。
您还可以使用 api.add_files 和 web.cordova
作为体系结构在 Package.on_use
方法中将文件添加到包中,这样只有您在此处列出的文件才会包含在 cordova 构建中但不是 Web 应用程序构建。
与使用 if(Meteor.isCordova)
相比,这样做的好处是您不会在 Web 构建中包含任何不必要的源代码,这有时可以使您的 Web 应用