nuxt.js踩坑记

初次接触nuxt.js,用SSR重构博客时踩了很多坑,踩完开发坑,再踩上线的坑。其实有些坑,官方文档里面都可以找到解决办法, 所以熟读文档解决问题的一个好方法。当然也有些坑,必须得去网上求问大神。下面依次列出我踩过的坑和解决办法。 1.使用vue-particles在IE浏览器报错 SCRIPT1003:缺少‘:’,这个错很好解决,就是ie不兼容ES6的语法,查看vue-particles, 作者已经3年没有维护了,怪不得呢。百度找到了别人的解决办法,就是对node_modules/vue-particles/src/vue-particles/index.js文件进行修改 修改之后的代码:

import particles from './vue-particles.vue'
var VueParticles = {
    install: function (Vue, options) {
        Vue.component('vue-particles', particles)
    }
}
export default VueParticles

2.将项目上传到阿里云服务器,然后运行 npm run build 和 npm run start 编译打包, 不打包的话,第一次请求,服务器需要花很长时间处理,在浏览器的network可以看见客户端向服务器发送了client请求但是打包之后就看不到了。 先把node_modules包删了,然后上传到阿里云服务器,用npm run build 打包编译是,报了一个错,但是由于脑阔疼,忘记记录和这个错了,一顿乱操作,先运行npm install, 还是8行,原来要把package.json中的cross-env给删掉

"scripts": {
    "dev": "cross-env NODE_ENV=development nodemon server/index.js --watch server",
    "build": "nuxt build",
    "start": "cross-env NODE_ENV=production node server/index.js",
    "generate": "nuxt generate"
  }

3.npm run build成功,npm run start 发布也成功,最后去浏览器访问,发现凡是有axios发请求的都失败,应该是请求地址的问题, 我设置的后台请求地址是内网的地址,上线后要改成外网的地址,也在package.json中配置。 118.31.77.24是我外网的地址

"scripts": {
    "dev": "cross-env NODE_ENV=development nodemon server/index.js --watch server",
    "build": "baseUrl=http://118.31.77.24 nuxt build",
    "start": "baseUrl=http://118.31.77.24 NODE_ENV=production node server/index.js",
    "generate": "nuxt generate"
  }

修改后问题就解决了

你可能感兴趣的:(Web前端自学)