将nuxt.js项目部署到域名二级目录下

本文详细介绍如何在Nuxt.js项目中配置不同环境变量,实现开发环境与生产环境的URL路径区别,包括如何修改nuxt.config.js以适配二级目录部署,并介绍了相关静态资源和axios配置调整的方法。
摘要由CSDN通过智能技术生成

1、实现目标:开发环境(dev)在根目录运行(例如:http://192.168.117.2:3100/),生产环境(prod)在二级路由 /mock 运行(例如:http://192.168.117.2:3100/mock/ )。部署到域名二级目录下的访问地址:https://www.******.com/mock/

2、先配置用于区分开发环境(dev)和生产环境(prod)的env变量,参考我的文章nuxt.js中使用cross-env配置env环境变量_小志哥斯拉的博客-CSDN博客

3、 修改nuxt.config.js文件配置如下:


// 请根据实际需求修改:开发环境(dev)在根目录运行,生产环境(prod)在二级路由 /mock 运行
const routerPrefix = process.env.NODE_ENV === 'prod' ? '/mock' : ''

export default {

  router: {
    base: routerPrefix // 应用的根 URL
  },
  
  server: {
    port: 3100, // 默认: 3000
    host: '0.0.0.0' // 默认: localhost
  },

}

到此已经完成基本的配置了。 

说明一下:配置router即可实现变更应用的根URL,例如像下面的配置,项目将运行在http://192.168.117.2:3100/mock/ 

router: {
    base: '/mock'
}

4、如果引入了外部(static目录下)的css、js,或者是使用了axios,需要同步修改相对应的配置。

 4.1、直接引入的静态资源:

4.2、axios基础路径:

 

 4.3、通过alias方式引入的静态资源,无需配置,例如:

 5、项目运行效果

5.1、开放环境

npm run dev

5.2、生产环境

npm run build

npm start

 6、部署到域名下的二级目录

6.1、运行 npm run build 进行打包。

6.2、打包后正常是将如下四个文件/夹复制到服务器对应目录下,如果有自定义的中间件服务,也要一起复制过去。

 6.3、在服务器对应目录下,运行npm install 安装依赖,npm start 启动项目。

6.4、需要nginx服务器配合,nginx.conf 配置如下:

location /mock/ {
	proxy_pass http://127.0.0.1:3100;
}

  访问: https://www.******.com/mock/ ,代理到:http://127.0.0.1:3100/mock/

 6.5、完成

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值