在不少时候开发的时候咱们须要导入一些外部的数据到程序当中,这些数据可能存放在csv,XML.json之类的文件当中,咱们就将其导入到程序当中,使其可以供全局进行访问。git
private/json/city.jsonjson
[ {"code":"010","city":"北京", "pinyin": "beijing"}, {"code":"021","city":"上海", "pinyin":"shanghai"}, {"code":"0571","city":"杭州", "pinyin":"hangzhou","province": "浙江"}, {"code":"0574","city":"宁波", "pinyin":"ningbo","province": "浙江"}, {"code":"0573","city":"嘉兴", "pinyin":"jiaxing","province": "浙江"}, {"code":"0575","city":"绍兴", "pinyin":"shaoxing","province": "浙江"}, {"code":"0577","city":"温州", "pinyin":"wenzhou","province": "浙江"}, {"code":"0580","city":"舟山", "pinyin":"zhoushan","province": "浙江"}, {"code":"0572","city":"湖州", "pinyin":"huzhou","province": "浙江"}, {"code":"0579","city":"金华", "pinyin":"jinhua","province": "浙江"}, {"code":"0578","city":"丽水", "pinyin":"lishui","province": "浙江"}, {"code":"0576","city":"台州", "pinyin":"taizhou","province": "浙江"}, {"code":"0570","city":"衢州", "pinyin":"quzhou","province": "浙江"}, ]
特殊注意是private文件夹的数据是不提供给客户端api
上面的是包含城市名称以及区号的json数据,咱们将其保存在文件当中,这里咱们能够经过Assets API来访问以及处理相应的数据。ecmascript
server/main.jsui
import { Meteor } from 'meteor/meteor'; Meteor.startup(function(){ var cityList=JSON.parse(Assets.getText('json/city.json')) _.each(cityList, function(city) { console.log(city); }); })
上面的代码会将全部的数据进行输出,可是有的时候这些数据能够会被其余的项目须要,这里咱们须要经过添加一个package来解决,同时咱们只能够将这个包上传到atmospherejs 咱们须要将以前的json文件移到cityjson包,最终的目录文件以下所示this
└── cityjson ├── README.md ├── city.json ├── cityjson-tests.js ├── cityjson.js └── package.js
package.jscode
Package.describe({ name: 'wenchangshou:cityjson', version: '0.0.1', // Brief, one-line summary of the package. summary: '获取国内的全部的城市名称以及区号', // URL to the Git repository containing the source code for this package. git: '', // By default, Meteor will default to using README.md for documentation. // To avoid submitting documentation, set this field to null. documentation: 'README.md' }); Package.onUse(function (api) { // api.versionsFrom('1.4.2.7'); api.versionsFrom('1.0') api.export('cityList', 'server'); api.addAssets('city.json', 'server') api.addFiles('cityjson.js', 'server') }); Package.onTest(function(api) { api.use('ecmascript'); api.use('tinytest'); api.use('wenchangshou:cityjson'); api.mainModule('cityjson-tests.js'); });
cityjson.jsserver
var cityCollection=JSON.parse(Assets.getText('city.json')); cityList={city:cityCollection}
上面的操做咱们已经建立了一个可以使用的包了,这时候咱们须要将这个包上传,方便未来的使用ip
meteor publish --createci
上传成功以后咱们能够直接访问cityjson来查看咱们上传的包,以下图所示 
上传成功以后咱们将pckages/cityjson目录删除
rm -rf packages/cityjson
咱们在主目录当中添加咱们上传的包,其中wenchangshou是个人用户名
meteor add wenchangshou:cityjson