简单记录一下学习meteor时遇到的问题,将会持续更新!

基于meteor的前端方案

方案大概有后端模板结合型前端后端分离型两种,支持的包也比较多,目前尤大推荐使用webpack:webpack的方案相对靠谱。

博主自己写的例子:meteor-vue-webpack-example

使用webpack:webpack这个包貌似存在些问题,比如vue components热更新问题并没有得到很好的支持,当你设置了devServer:{inline:true}参数还是不见生效。原因是webpack:webpack包没传这个devServer的参数进webpackDevServer导致(虽然我已经在提交了修改,但是啥时候能改并不知道)。

线上部署也遇到问题

由于用了webpack所以nodejs版本必须在0.12.x以上、npm 必须3.x以上,最后博主自己用了和本机一样的4.4.4版本问题就解决了,具体可以看上面例子的.docker内具体的操作。

更新至meteor 1.4后,meteor 自带node已升级至4.4.7、npm 升级至3.10.5,所以本地环境与线上环境一致就没什么问题了。

其次虚拟主机配置较低的朋友尽量不要使用线上环境构建meteor应用,不单只好资源还经常不成功,比如内存撑炸之类经常发生,构建10次才能成功一次,所以还是本地构建再扔到线上比较靠谱。本地构建线上版本一样会出现部分问题,比如在线上运行会出现Error: spawn ENOMEM问题,这类问题原因是本地和线上不是同一系统环境便会发生,建设认真查看出错的包,直接进包目录重新安装并构建来解决此类问题。

Error: spawn ENOMEM问题解决方法

# 如提示 Error: spawn ENOMEM 到以下目录 install 一下
# bundle\programs\server\npm\node_modules\meteor\npm-bcrypt\
npm i bcrypt

升级问题

最近meteor升级至1.4版本,但是当程序运行时会提示正在下载1.4版本的更新包,然后经常下载完后导致正在运行的meteor应用出错。这里只需要在非meteor应用目录下完整更新meteor至1.4版本就可以了。

# 在非meteor应用目录下
meteor update

# 在meteor应用目录下,更新meteor应用至最新版本
meteor update --patch

部分姿势引用自:

Webpack傻瓜式指南(一)
vue-hot-reload该怎么使用?
webpack docs-webpack-dev-server#inline-mode-with-node-js-api
yyx的vue-webpack-meteor-example是最终的vue+meteor解决方案吗?


帕奇式
924 声望71 粉丝

设计和管理是毕生的课题👨‍💻