项目多多少少应该都遇到有公用文件这种情况,比如说偶尔某一天产品来找你,能不能明天把网站的这个颜色给我改下?第二天再来给我换回来?

如果再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)的更多相关文章

  1. nuxt.js使用scss

    1>安装一些loader npm i node-sass sass-loader scss-loader --save-dev 2>在nuxt.config.js中配置(需要全局使用的sc ...

  2. parcel 在js中导入 html 文件

    parcel不支持将html文件导入为字符串,如果您对parcel使用熟练,直接使用 parcel-plugin-phtml 插件即可,此插件使用 .phtml 后缀 为什么用parcel? 因为从我 ...

  3. vue.js中引入其他文件export的方法:

    import {GetPosition} from '../../lib/utils'  //找到 该方法的文件路径,然后 用{}拿到 该方法 var position =GetPosition(); ...

  4. Nuxt.js笔记

    前置知识 SSR服务器渲染 Vue SSR(server side rendering)服务端渲染 和 Vue SPA(single page application)单页应用 Vue SSR-> ...

  5. 解析Nuxt.js Vue服务端渲染摸索

    本篇文章主要介绍了详解Nuxt.js Vue服务端渲染摸索,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下.如有不足之处,欢迎批评指正. Nuxt.js 十分简单易用.一个简单 ...

  6. nuxt.js如何实现同级目录下建多个动态路由,并将链接设置.html后缀

    nuxt.js中如果在同级目录中建两个_xxxx.vue的动态路由文件,那么页面跳转始终是跳的一个页面,如何解决这个问题呢?下面举个栗子: 第一步:新建两个页面文件 第二步:在nuxt.config. ...

  7. Nuxt.js的踩坑指南(常见问题汇总)

    本文会不定期更新在nuxt.js中遇到的问题进行汇总.转发请注明出处,尊重作者,谢谢! 强烈推荐作者文档版踩坑指南,点击跳转踩坑指南 在Nuxt的官方文档中,中文文档和英文文档都存在着不小的差异. 1 ...

  8. Nuxt.js项目实战

    感悟 经过几个周六周日的尝试,终于解决了服务端渲染中的常见问题,当SEO不在是问题的时候,或许才是我们搞前端的真正的春天,其中也遇到了一些小坑,Nuxt.js官方还是很给力的,提issue后很积极的给 ...

  9. Node.js中module文件定义的top-level变量为何是私有的

    在Node.js中,module文件里面使用var,const或者let定义的top-level变量为何是私有的,只能在这个模块文件中使用呢? 原因就是,在模块文件中的内容执行之前,node.js会降 ...

随机推荐

  1. 微信小程序起步

    微信小程序 文档 微信小程序开发文档 本质 so微信小程序到底是什么?是原生的app还是H5应用? 简单来说,小程序是一种应用,运行的环境是微信(App)进程中,使用了部分的H5技术 目录介绍 app ...

  2. Ajax 跨域请求,Chrome 无法显示 Set-Cookie

    在使用 Ajax 进行跨域请求时,前后端均已设置 withCredentials = true,但 Chrome 前端响应无法显示 Set-Cookie. 一开始以为 Cookie 并没有设置成功,但 ...

  3. struts2的使用入门

    虽然说Struts2现在已经被SpringMVC框架淘汰了,据说是有很多安全漏洞.但是Struts2作为一个成熟的MVC框架,还是有必要了解一下的,好歹是曾经风光一时的前辈,老祖宗的东西不能丢下,里面 ...

  4. secure-file-priv特性

    转载自:https://segmentfault.com/a/1190000009333563 当出现:1290 - The MySQL server is running with the --se ...

  5. JavaScriptCore在浏览器引擎中的位置

    因为随着JS这门语言的发展,JS的宿主越来越多,有各种各样的浏览器,甚至是常见于服务端的Node.js(基于V8运行). 2.       Webkit 源代码由三大模块组成: 1). WebCore ...

  6. .NET MVC 支付宝支付(即时到账)

    已经好久没有搞过.NET了,朋友有一个网站 ,需要接入支付宝功能,重新对接了一下. 1.开发前,需要一个企业支付宝账号登录,获取 PID和 配置密钥 官方文档:https://docs.open.al ...

  7. Application类-应用程序生命周期

    1.创建Application对象 新建WPF程序后,排除掉WPF自动创建的App.xaml,我们自定义一个类,在该类的Main()方法中,创建Application对象,然后调用创建一个窗口对象,最 ...

  8. 有哪位大侠操作过NPOI生成word文档,如何设置页眉页脚距离顶部和底部距离?

    #region 1.创建文档(页眉.页脚) XWPFDocument doc = new XWPFDocument(); //页面设置 A4:w=11906 h=16838 doc.Document. ...

  9. K8S CoreDNS部署失败,发现的一个问题

    K8S CoreDNS部署失败,查看错误日志,提示如下 root >> kubectl get all --all-namespaces -o wide root >> kub ...

  10. Python - Win10系统下Python3.x环境配置

    Win10系统下Python3.x环境配置 https://blog.csdn.net/qq_41952474/article/details/82630551