nuxt+vant+rem项目构建
原文链接:https://blog.csdn.net/Young_Gao/article/details/93605428
一、创建项目
1、使用如下命令生成项目
vue init nuxt-community/starter-template testPro --testPro为项目名称
2、进入到项目根目录下,使用npm install 安装依赖
3、npm run dev 在开发环境下运行项目
二、修改项目的host 和 port
在package.json文件中新增如下代码:
"config": {
"nuxt": {
"host": "192.168.124.4", // 此处可以改成自己的ip
"port": "1818" // 端口可以随意更改
}
},
三、配置全局css样式
新建~assets/css/reset.css,并在nuxt.config.js中添加如下配置:
css: ['~assets/css/reset.css']
四、在nuxt中使用sass
只需要安装 node-sass sass-loader 就可以了
npm i node-sass sass-loader -D
如果需要引入.scss文件,只需在nuxt.config.js中添加如下配置:
css:[
'~assets/common.scss'
],
如果需要引入scss全局变量或函数之类的话,需要如下步骤
1)安装此插件
cnpm install --save-dev @nuxtjs/style-resources
2)接下来我们需要修改nuxt.config.js
里面的配置,如下:
来源https://blog.csdn.net/WU5229485/article/details/99291603
export default {
modules: [
'@nuxtjs/style-resources',
],
styleResources: {
scss: './assets/variables.scss',
less: './assets/**/*.less',
// sass: ... 需要什么配置什么,这里是全局的 根据需要配置,没有可以不配置
}
}
五、使用sass函数实现px2rem
1、方法一(通过插件动态的设置不同尺寸屏幕下的跟字体)当前位置 ~assets/sass/resources.scss
$baseFontSize: 10;//开发设备下的跟字体
@function px2rem($px){
@return $px/$baseFontSize * 1rem;
}
添加js修改跟字体 (当前位置 ~plugins/custom/rootFontSize.js)
var ui = 750;
// 自己设定的font值
var font = 100;
// 得到比例值
var ratio = ui/font;
var oHtml = document.documentElement;
var screenWidth = oHtml.offsetWidth;
// 初始的时候调用一次
getSize();
window.addEventListener('resize', getSize);
// 在resize的时候动态设置fontsize值
function getSize(){
screenWidth = oHtml.offsetWidth;
// 限制区间
// if(screenWidth <= 320){
// screenWidth = 320;
// }else if(screenWidth >= ui){
// screenWidth = ui;
// }
oHtml.style.fontSize = screenWidth/ratio + 'px';
}
使用rootFontSize.js (当前位置nuxt.config.js )
plugins: [
{
src: '~plugins/custom/rootFontSize.js', ssr: false
}
]
2、方法二(使用postcss插件) 此方法暂无亲测
postcss-pxtorem(将px自动转换成rem)
autoprefixer(自动为css选择器添加前缀)
cnpm install postcss-pxtorem autoprefixer --save-dev
nuxt.config.js中的配置如下
build: {
/*
** Run ESLint on save
*/
extend (config, { isDev, isClient }) {
if (isDev && isClient) {
config.module.rules.push({
enforce: 'pre',
test: /\.(js|vue)$/,
loader: 'eslint-loader',
exclude: /(node_modules)/
})
}
},
postcss: {
plugins: {
'postcss-pxtorem':{
rootValue: 40,
propList: ['*']
}
},
preset: {
autoprefixer: true
}
} }
六、实现接口代理
使用@nuxtjs/axios
npm install @nuxtjs/axios
nuxt.config.js中配置如下:
modules: ['@nuxtjs/axios'],
axios: {
proxy: true
},
proxy: {
'/api/': {
target: 'http://lichunshan.top:3000',
pathRewrite: {'^/api': ''}}
}
七、使用第三方插件库vant
在plugins文件夹中新建文件vant.js,内容如下
import Vue from 'vue';
import Vant from 'vant';
import 'vant/lib/index.css'; Vue.use(Vant);
nuxt.config.js中配置如下
plugins: [
{
src: '~plugins/three_sides/vant.js', ssr: true
}
] // 如果plugins对象中已有内容的话只需将对象追加在后面即可
例如
plugins: [
{
src: '~plugins/rootFontSize.js', ssr: false
},
{
src: '~plugins/vant.js', ssr: true
}
],
nuxt+vant+rem项目构建的更多相关文章
- 基于Cmake+QT+VS的C++项目构建开发编译简明教程
目录 一.工具下载与安装 1. Qt 2. Visual Studio 2015 3. Cmake 二.C++及Qt项目构建 1. 基于VS构建Qt项目 2. ...
- 在Redhat上为.Net 项目构建基于Jenkins + Github + Mono 的持续集成环境
在Redhat enterprise 6.5 的服务器上,为在gutub 上的 .net 项目构建一个持续集成环境,用到了Jenkins和mono.因公司的服务器在内网,访问外网时要通过代理,所以在很 ...
- 前端项目构建之yeoman
各位好啊,我又和大家见面了,也许你已经不记得大明湖畔的容嬷嬷,但是只要记得博客园中的我就好,希望我的博客能像一股清风,为你驱散炎热的酷暑,好了,废话不多说,开始上干货,我今天带给大家的是前端工程化开发 ...
- 前后端分离之前端项目构建(grunt+require+angular)
前言 前段时间做了一个项目,前端开发页面,然后把代码给到后端同学,后端同学通过vm再来渲染页面.后来才发现,这种方式简直是太low了,因为前端代码在服务端同学那里,每次前端需要更改的时候都需要去到服务 ...
- 前端项目构建工具---Grunt
什么是Grunt? grunt是javascript项目构建工具,在grunt流行之前,前端项目的构建打包大多数使用ant.(ant具体使用 可以google),但ant对于前端而言,存在不友好,执行 ...
- 准备阶段-maven项目构建
依据我现阶段对maven的了解,具使用POM管理项目和强大的repository资源管理库支持. 在项目建立初期,对网站的可拓展.高并发.易于管理做了评估.最终使用Maven 管理该项目 . 如下是m ...
- React学习笔记---项目构建
简介 ReactJs由于有FB的支持,得到了社区的极大关注,同时由于ReactJs只希望专一的做好View层次上的工作,所以本身并没有涉及很多周边工具. 今天要介绍一款工具,同时包含一个构建项目模板的 ...
- Gulp.js - 简单、直观的自动化项目构建工具
Gulp.js 是一个简单.直观的构建系统.崇尚代码优于配置,使复杂的任务更好管理.通过结合 NodeJS 的数据流的能力,你能够快速构建.通过简单的 API 接口,只需几步就能搭建起自己的自动化项目 ...
- 第一次使用Android Studio时你应该知道的一切配置(三):gradle项目构建
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- 项目构建工具Gradle的使用入门(参考,只表明地址)
Gradle入门介绍:简介 http://blog.jobbole.com/71999/ Gradle入门介绍:第一个Java项目 http://blog.jobbole.com/72558/ Gra ...
随机推荐
- git回滚操作系列
git回滚操作系列 准备工作 本地环境 线上环境 分支 master 场景1 线上环境回滚,同步线上与本地操作 线上环境当前与本地一致 先把线上回滚至早期 获取提交日志 [root@root]# gi ...
- 如何安装Visual Studio Community2022
如何安装Visual Studio Community2022 Visual Studio是一款强大的IDE(集成开发环境),对于初学者可以选择使用社区版,下面是Visual Studio Commu ...
- 关于python转义字符在正则匹配中的问题研究
问题 首先看一个问题: import re text = r"\学" print(text) zz = r"\学" result = re.findall(zz ...
- python-面向过程与函数式
面向过程与函数式 面向过程 "面向过程"核心是"过程"二字,"过程"指的是解决问题的步骤,即先干什么再干什么......,基于面向过程开发程 ...
- Android ViewPager2 + Fragment + BottomNavigationView 联动
Android ViewPager2 + Fragment + BottomNavigationView 联动 本篇主要介绍一下 ViewPager2 + Fragment + BottomNavig ...
- C++编程笔记(智能指针学习)
目录 scoped_ptr unique_ptr shared_ptr 智能指针简单应用 智能指针简单应用 scoped_ptr 拷贝构造和 =赋值操作均为私有,不允许 内部重载了解引用(*)操作符和 ...
- 复杂mysql/多表查询
目录 多表查询的两种方法 sql语句基础语法补充 concat / existe / 表字段 增加 修改 删除 复杂sql练习题 多表查询的两种方法 方式1:连表操作 inner join 内连接 s ...
- Java单例模式的最佳实践?
"读过书,--我便考你一考.茴香豆的茴字,怎样写的?"--鲁迅<孔乙己> 0x00 大纲 目录 0x00 大纲 0x01 前言 0x02 单例的正确性 new关键字 c ...
- 如何基于 Redis 实现分布式锁
什么是分布式锁 分布式锁:不同进程必须以互斥方式使用共享资源的一种锁方法实现. 实现分布式锁的基础 互斥.任何时刻,只有一个客户端持有锁. 无死锁.最终总是有可能获得锁,即使持有锁的客户端已经崩溃. ...
- [OpenCV实战]25 使用OpenCV进行泊松克隆
目录 1 Seamless Cloning实现 1.1 Seamless Cloning实例 1.2 正常克隆(NORMAL_CLONE)与混合克隆(MIXED_CLONE) 1.2.1 Normal ...