原文链接: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
}
],

  

  

最新文章

  1. sass接触
  2. (转)java字节流和字符流的区别
  3. CSS属性选择符
  4. HTML 学习笔记 CSS3(Animation)
  5. c#自适应窗体的实现
  6. 在CentOS_RHEL 6上安装Metasploit的框架
  7. 如何制作CSR文件?
  8. Javascript起源...
  9. 斐波那契(Fibonacci)数列的七种实现方法
  10. Delphi XE5 android 获取电池电量
  11. iOS的内存管理
  12. tomcat 远程 调试 eclipse
  13. Haskell 笔记(三)类型系统
  14. 领域驱动设计系列文章(2)——浅析VO、DTO、DO、PO的概念、区别和用处
  15. 背水一战 Windows 10 (95) - 选取器: 自定义文件保存选取器
  16. springBoot(8)---整合redis
  17. 数据挖掘---Matplotib的学习
  18. Unity应用架构设计(4)——设计可复用的SubView和SubViewModel(Part 1)
  19. Nearest neighbor graph | 近邻图
  20. Mint UI 之 Swipe 组件

热门文章

  1. Multipass,本地轻量级Linux体验!
  2. Zookeeper的服务器的log4j升级为log4j2的升级方案(忽略配置化兼容问题)
  3. cv2.imread opencv读取不到图片问题
  4. CSP-S 游寄
  5. windows GO语言环境配置
  6. PL/SQL Developer使用中文条件查询时无数据的解决方法
  7. Jmeter 之 switch 控制器
  8. STL list容器API
  9. texlive2021编译中文
  10. [编程基础] Python lambda函数总结