nuxt.js实战踩坑记录
读万卷书不如行万里路,必须实践出真理!
看官方文档安装项目vue init nuxt-community/starter-template <project-name>注意:这是新手项目不适合直接用的
用我用的express的官方项目vue init nuxt/express <project-name>
大神有讲解但是没有源码https://juejin.im/post/598aabe96fb9a03c335a8dde
1.使用FormData提交文件时
上传的内容保存在Request Payload中而不是请求信息的body中
解决方案:
1、设置请求的Content-type字段为application/x-www-form-urlencoded
xhr.open("post", "/register", true);
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.send(formData);
此时在后台可以获取到req.body中的数据。
2、使用express的中间件connect-multiparty ,它是专门处理此类post数据相关的依赖包。
安装依赖以后在服务器端使用:
var multipart = require('connect-multiparty');
var multipartMiddleware = multipart();
app.post('/register', multipartMiddleware, function(req, res) {
console.log('get FormData Params: ', req.body);
});
参考地址:https://www.jianshu.com/p/39178bc6a833
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");后后台nodereq.body有值
就不会执行了所以不能加 -----------------------------------------------
但是var form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files) {}
上线问题在本地打包npm run build是没有问题的
但是到线上虚拟机上打包就有问题了
一直给我报
npm ERR! code ELIFECYCLE
npm ERR! errno 137
npm ERR! nuxttest1@1.0.0 build: `nuxt build && backpack build`
npm ERR! Exit status 137
这个问题是因为内存不足导致
加上管理员权限 sudo npm run build网上说可以获得更多的内存吧好像
但是我一直报 sudo npm command not found
chmod -R 755 /opt/node
sudo ln -s /{自己的路径}/node /usr/bin/node
sudo ln -s /opt/node/lib/node /usr/lib/node
sudo ln -s /opt/node/bin/npm /usr/bin/npm
这样获取后就可以sudo了
但是我的虚拟机实在太差了所以还是不行,只能本地打包后再丢上去虚拟机跑了 nuxt.js源代码如果不想放在服务器上,可以删除除了.nuxt, build, node_modules文件夹和package.json文件的其他文件和文件夹,但是每次发布build和.nuxt两个文件夹和package.json文件需要进行更新,如有依赖包更新,直接运行更新依赖包命令就可以了
另外默认的服务是host在127.0.0.1本机上,在部分服务器上,如云服务器使用虚拟ip的服务器上,localhost和127.0.0.1都可以访问,但是使用内网的ip无法访问,这也直接导致了服务器外网即使端口开启了,也没有办法访问站点,需要更改server/index.js的host配置,去掉host参数
然后重新编译运行,发布就可以了。
nuxt.js还在发展阶段,很期待即将到来的1.0的版本,其实现在线上的项目已经开始使用了,如果觉得不错,那么试一试吧,用得人多了,发展也就更快了!
chmod xxx < file-name > 经常要用改目录权限不然传不上 -f遍历
参考https://www.cnblogs.com/stealth7/p/7299614.html
然后用pm2来管理node进程就不需要一直开着窗口pm2 start npm --name "进程名字" -- run start
最新文章
- IP地址的分类——a,b,c 类是如何划分的
- IE11之F12 Developer Tools--DOM Explorer
- Linux终端乱码的解决办法
- Java类初始化顺序问题
- 应用emailAutoComplete.js来自动显示邮箱后缀列表
- IAR 1.3 for STM8 ST-Link无法调试 无法仿真 the debugging session could not be started
- 学习opencv 第六章 习题十三
- tomcat context标签中resource配置
- Windows Azure 网站 (WAWS) 和中间证书
- Web开发人员不要错过的60款用户界面设计工具(上)
- android.app.Activity 的介绍
- jsp上的九个隐含对象
- Linux如何管理目录和文件属性
- Studio 5000指令IN_OUT管脚实现西门子风格
- 【模板】快速幂&;取余运算
- 结对作业——WordCount进阶版
- 使用DataSource绑定一维数组时,DataTextField只需绑定空字符串
- Wireshark过滤总结
- 修复Gradle CreateProcess error=206
- sqlmap+tor解决ip黑名单限制