Nuxt.js中scss公用文件(不使用官方插件style-resources)
项目多多少少应该都遇到有公用文件这种情况,比如说偶尔某一天产品来找你,能不能明天把网站的这个颜色给我改下?第二天再来给我换回来?
如果再css2.x时代,不使用css预处理技术,这一改只能“查找替换”了,使用预处理不使用变量也只有“查找替换”了。
当然,css3的时代就另当别论了,因为css3本身已经开始支持变量(参考文档MDN)!
话不多说,首先可以去看看nuxt官网的公用文件使用方式,链接!
毕竟还要装个第三方包文件style-resources,老实说每多装一个插件项目被黑的风险就大一分,毕竟有event-stream包被植入恶意代码的前车之鉴!!
下面说说如何不使用这个插件,直接使用node-sass的data属性实现公用文件。
先看看vue cli3官网给的sass公用文件实现方式,链接!此方法只适用于vue cli项目,不适用nuxt项目!!!
// vue.config.js
module.exports = {
css: {
loaderOptions: {
// 给 sass-loader 传递选项
sass: {
// @/ 是 src/ 的别名
// 所以这里假设你有 `src/variables.scss` 这个文件
data: `@import "~@/variables.scss";`
}
}
}
}
nuxt毕竟不是使用的vue cli,所以这个方式只能给我们参考,nuxt具体实现如下:
// nuxt.config.js
export default {
...
/*
** Build configuration
*/
build: {
...
// https://zh.nuxtjs.org/api/configuration-build/#loaders
loaders: {
scss: {
// scss公用文件
// 路径前面的assets是nuxt.js内置别名
data: `
@import "assets/sass/_fn.scss";
@import "assets/sass/_mixins.scss";
@import "assets/sass/_var.scss";
`,
},
},
...
},
...
}
注意上面配置的loaders下的scss,不是vue cli3的sass!!以上是假设你的assets/sass目录中存在_var.scss,_mixins.scss,_fn.scss三个文件,当然你可以写N个都行。
其中路径前面的assets是nuxt内置别名,官网文档只说了~和@是内置的根目录,并没有介绍assets这个别名,其实内置目录有如此之多:

当然是用的nuxt版本不一样,可能内置别名也不一样,查看项目路径别名和新增项目路径别名方法如下:
// nuxt.config.js
export default {
...
/*
** Build configuration
*/
build: {
...
// https://zh.nuxtjs.org/api/configuration-build/#loaders
extend (config, ctx) {
if (ctx.isDev) {
// 查看别名配置信息
console.log(config.resolve.alias);
// 添加 alias 配置
// !这儿添加的别名不能在nuxt.config.js文件中使用
Object.assign(config.resolve.alias, {
'sass': path.resolve(__dirname, 'assets/sass'),
});
}
},
...
},
...
}
本文章中使用的nuxtjs版本为"nuxt": "^2.8.1"。
以上就是nuxt配置公用scss文件的使用方式了,本人习惯使用scss,所以没去捣鼓sass文件公用方式,方法跟上面差不多,具体查看node-sass配置!
内容完!
Nuxt.js中scss公用文件(不使用官方插件style-resources)的更多相关文章
- nuxt.js使用scss
1>安装一些loader npm i node-sass sass-loader scss-loader --save-dev 2>在nuxt.config.js中配置(需要全局使用的sc ...
- parcel 在js中导入 html 文件
parcel不支持将html文件导入为字符串,如果您对parcel使用熟练,直接使用 parcel-plugin-phtml 插件即可,此插件使用 .phtml 后缀 为什么用parcel? 因为从我 ...
- vue.js中引入其他文件export的方法:
import {GetPosition} from '../../lib/utils' //找到 该方法的文件路径,然后 用{}拿到 该方法 var position =GetPosition(); ...
- Nuxt.js笔记
前置知识 SSR服务器渲染 Vue SSR(server side rendering)服务端渲染 和 Vue SPA(single page application)单页应用 Vue SSR-> ...
- 解析Nuxt.js Vue服务端渲染摸索
本篇文章主要介绍了详解Nuxt.js Vue服务端渲染摸索,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下.如有不足之处,欢迎批评指正. Nuxt.js 十分简单易用.一个简单 ...
- nuxt.js如何实现同级目录下建多个动态路由,并将链接设置.html后缀
nuxt.js中如果在同级目录中建两个_xxxx.vue的动态路由文件,那么页面跳转始终是跳的一个页面,如何解决这个问题呢?下面举个栗子: 第一步:新建两个页面文件 第二步:在nuxt.config. ...
- Nuxt.js的踩坑指南(常见问题汇总)
本文会不定期更新在nuxt.js中遇到的问题进行汇总.转发请注明出处,尊重作者,谢谢! 强烈推荐作者文档版踩坑指南,点击跳转踩坑指南 在Nuxt的官方文档中,中文文档和英文文档都存在着不小的差异. 1 ...
- Nuxt.js项目实战
感悟 经过几个周六周日的尝试,终于解决了服务端渲染中的常见问题,当SEO不在是问题的时候,或许才是我们搞前端的真正的春天,其中也遇到了一些小坑,Nuxt.js官方还是很给力的,提issue后很积极的给 ...
- Node.js中module文件定义的top-level变量为何是私有的
在Node.js中,module文件里面使用var,const或者let定义的top-level变量为何是私有的,只能在这个模块文件中使用呢? 原因就是,在模块文件中的内容执行之前,node.js会降 ...
随机推荐
- crushmap磁盘智能分组
目录 简介 配置crush class 1. 创建ssd class 2. 创建基于ssd的class rule 3. 创建基于ssd_rule规则的存储池 4. 测试基于ssd的池 简介 ceph从 ...
- TF-IDF & CNN
TF-IDF----------------------------------------------------------------认为一个单词出现的文本频率越小,它区别不同类别的能力就越大, ...
- 【leetcode】字母异位词分组
给定一个字符串数组,将字母异位词组合在一起.字母异位词指字母相同,但排列不同的字符串. 示例: 输入: ["eat", "tea", "tan&quo ...
- 项目Gradle版本从4.4升级到4.6
一.背景 Gralde版本与AGP(Android Gradle Plugin)版本具有一定的对应关系,原因在于AGP实质上作为Gradle的插件,依赖于Gradle作为宿主.因此,不同的AGP版本需 ...
- 机器学习之TensorFlow介绍
TensorFlow的概念很简单:使用python定义一个计算图,然后TensorFlow根据计算图生成高性能的c++代码. 如上图所示,使用图的方式实现了函数\(f(x,y)=x^2y+y+2\)的 ...
- maven打包产生可执行jar包
http://blog.csdn.net/u014695188/article/details/53128095 https://blog.csdn.net/fuck487/article/detai ...
- Java设计模式原型模式
原型模式: – 通过new产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式. – 就是java中的克隆技术,以某个对象为原型,复制出新的对象.显然,新的对象具备原型对象的特点 – 优势 ...
- WPF 精修篇 路径动画
原文:WPF 精修篇 路径动画 路径动画 是让一个对象围绕指定Path 的运动路径 进行移动的动画 举栗子 路径动画 使用 Blend 来设置 是十分简单的 首先用工具 笔 点出一条线 新建一个圆形 ...
- table布局 常见问题总结
table实用属性: 属性 值 作用 描述 table-layout auto 自动计算列宽 对table和td.th指定的宽度无效 浏览器会计算所有单元格的内容宽度才能得出一列宽度 (默认值) fi ...
- C#工具类OracleHelper,基于Oracle.ManagedDataAccess.Client封装
基于Oracle.ManagedDataAccess.Client封装的Oracle工具类OracleHelper,代码如下: using System; using System.Data; usi ...