nuxtjs如何部署cdn及区分发布环境
1、部署cdn
nuxt build 后的前端资源都会存放在.nuxt/dist/ 文件夹下面
img 目录存放的是使用到的图片资源,无论是开发中存放在 assets 文件夹里的,还是static里的,都会统一生成到该目录里
layouts 目录存放是layout 的布局js
pages 目录存放的是路由页面的js
其他的文件为nuxt创建的一些公共库和配置文件
所以部署cdn的时候,只要将 dist 文件夹推送到cdn服务器就行了
然后下一步更改 publicPath ,这样子在nuxt build 的时候,静态资源就会自动初始化到publicPath 路径下
修改nuxt.config.js,在build 加上 publicPath配置。注意的是后面的
注意,路径后面的‘/’ 不能忽略,假如忽略了之后,publicPath: ‘http://cdn.modb.pro/_nuxt’,js会路径会正常,但是img路径不正常
build: {
publicPath: process.env.PATH_TYPE === 'gray' ? '/_nuxt/' : 'https://cdn.modb.pro/_nuxt/',
parallel: true,
transpile: [/^element-ui/],
/*
** You can extend webpack config here
*/
extend (config, ctx) {
},
filenames: {
chunk: 'modb.2.6.[id].js'
}
}
2、区分发布环境
在 Nuxt.js 项目中,我们有一个全局的环境变量 process.env.NODE_ENV,默认情况下,这个变量的值要么是 production,要么是 development,分别表示生产环境和开发环境。而我们需要的环境可能不止这两种,我们还需要测试环境、预生产环境等等
现在就是我的测试环境不加cdn,生产环境需要加cdn,那么就需要设置一下全局环境变量
利用cross-env
"scripts": {
"dev": "nuxt",
"gray": "cross-env PATH_TYPE=gray nuxt build",
"build": "cross-env PATH_TYPE=production nuxt build",
"start": "nuxt start",
"generate": "nuxt generate"
},
nuxt.config.js里加入
env: {
PATH_TYPE: process.env.PATH_TYPE
},
利用环境变量区分
publicPath: process.env.PATH_TYPE === 'gray' ? '/_nuxt/' : 'https://cdn.modb.pro/_nuxt/',
nuxtjs如何部署cdn及区分发布环境的更多相关文章
- VUE 利用webpack 给生产环境和发布环境配置不同的接口地址
第一步,分别设置不同的接口地址 首先,我们分别找到下面的文件: /config/dev.env.js /config/prod.env.js 其实,这两个文件就是针对生产环境和发布环境设置不同参数的文 ...
- Webpack配置区分开发环境和生产环境
在项目开发的时候,我们通常会将程序分为开发环境和生产环境(或者叫线上环境),开发环境通常指的是我们正在开发的这个阶段所需要的一些环境配置,也就是方便我们开发人员调试开发的一种环境:生产环境通常指的是我 ...
- Linux上部署web服务器并发布web项目-转
Linux上部署web服务器并发布web项目 近在学习如何在linux上搭建web服务器来发布web项目,由于本人是linux新手,所以中间入了不少坑,搞了好久才搞出点成果.以下是具体的详细步骤以 ...
- Azure Terraform(十)利用 Azure DevOps 的条件语句选择发布环境
一,引言 之前我讲过的所有的案例中,都是将整个Azure Resource 部署到同一个订阅下,没有做到灵活的在 Azure Pipeline 在运行前选择需要部署的环境.在实际的项目开发中,我们也会 ...
- Spark入门实战系列--2.Spark编译与部署(上)--基础环境搭建
[注] 1.该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取: 2.Spark编译与部署将以CentOS 64位操作系统为基础,主要是考虑到实际应用 ...
- vue config.js配置生产环境和发布环境不同的接口地址问题
第一步,分别设置不同的接口地址 首先,我们分别找到下面的文件: /config/dev.env.js /config/prod.env.js 其实,这两个文件就是针对生产环境和发布环境设置不同参数的文 ...
- webpack 实现自动刷新,复制文件,实现开发环境和发布环境
webpack例子:https://github.com/Aquarius1993/webpackDemo 安装: webpack , webpack-dev-server 1.如何在使用webpac ...
- VUE 利用 webpack 给生产环境和发布环境配置不同的接口地址
转载地址: https://blog.csdn.net/gebitan505/article/details/58166055 VUE 利用 webpack 给生产环境和发布环境配置不同的接口地址 前 ...
- IdentityServer4:发布环境的数字签名证书
一,jwt的三个组成部件 先来看一个由IdentityServer颁发的一个标准令牌 eyJhbGciOiJSUzI1NiIsImtpZCI6IjBiNTE3ZjIzYWY0OGM4ZjkyZjExM ...
随机推荐
- 解决xunsearch热门搜索,不按照数量排序问题
public function getHotQuery($limit = 6, $type = 'total') { $ret = array(); $limit = max(1, min(50, i ...
- [转帖]mysql常用存储引擎(InnoDB、MyISAM、MEMORY、MERGE、ARCHIVE)介绍与如何选择
mysql常用存储引擎(InnoDB.MyISAM.MEMORY.MERGE.ARCHIVE)介绍与如何选择原创web洋仔 发布于2018-06-28 15:58:34 阅读数 1063 收藏展开 h ...
- Elasticsearch Field Options Norms
Elasticsearch 定义字段时Norms选项的作用 本文介绍ElasticSearch中2种字段(text 和 keyword)的Norms参数作用. 创建ES索引时,一般指定2种配置信息:s ...
- js展示long型精度问题解决(server端解决)
问题:后端返回了个Long型的数据,在前端展示时最后2位变为00了 例如返回Long型的数据为75874464836881101,结果接口返回变为75874464836881100了 解决方法: 1. ...
- 4-rocketmq 发送时异常:system busy 和 broker busy 解决方案
原文:https://www.cnblogs.com/enenen/p/10138511.html 推荐阅读:https://juejin.im/post/5d996285f265da5bad4052 ...
- Java常用框架和软件
- 浅谈Spring解决循环依赖的三种方式
引言:循环依赖就是N个类中循环嵌套引用,如果在日常开发中我们用new 对象的方式发生这种循环依赖的话程序会在运行时一直循环调用,直至内存溢出报错.下面说一下Spring是如果解决循环依赖的. 第一种: ...
- 开发技术--浅谈python基础知识
开发|浅谈python基础知识 最近复习一些基础内容,故将Python的基础进行了总结.注意:这篇文章只列出来我觉得重点,并且需要记忆的知识. 前言 目前所有的文章思想格式都是:知识+情感. 知识:对 ...
- 获取Object对象属性的方法,Reflect.ownKeys, Object.getOwnPropertyNames,Object.getOwnPropertySymbols,Object.keys,for in
let triangle={ a:1, b:2, c:3 } function coloTriangle(){ this.color='red'; } coloTriangle.prototype=t ...
- 微信公众号 $GLOBALS['HTTP_RAW_POST_DATA']数据问题
公司的微信公众号最近出现问题,所有的功能都不能用,一开始以为是微信公众号验证的问题,经过排查才发现是$GLOBALS['HTTP_RAW_POST_DATA']这里的问题,微信公众号会把用户的一些操作 ...