要的。因为 sass-loader 包中loaderjs文件中有引包。
然而他自己的配置文件里却没有配置如下图,说以需要手动安装
其实sass官方文档里边有说明
目录
官方文档
vue-cli3以下版本中,关于webpack的一些配置都在config目录文件中,可是vue-cli3以上版本中,没有了config目录,那该怎么配置webpack呢?
3x初始化项目后没有了build和config文件,如果你想对webpack相关内容进行配置,需要自己在根目录下(与packagejson同级)创建一个vueconfigjs文件,这个文件一旦存在,那么它会被 @vue/cli-service 自动加载。(但需要我们自己手动创建哦vueconfigjs,跟packagejson同级)
在配置中绝大多数都是(可选项)
常规 *** 作还是用到了commjs语法
部署应用包的基本Url,默认/, 可以设置为相对路径/,这样打出来的包,可以部署到任意路径上
输出文件目录(打包后生成的目录,默认dist)
打包后生成的静态资源目录,默认“ ” ,也就是我们打包后的css,js等存放的位置
是否在保存的时候检查
生产环境的 source map,可以将其设置为 false 以加速生产环境构建,默认值是true
可通过 devServerproxy解决前后端跨域问题(反向代理)
扩展: hot 和 hotOnly 的区别是在某些模块不支持热更新的情况下,前者会自动刷新页面,后者不会刷新页面,而是在控制台输出热更新失败
扩展:
Preload: 用于标记页面加载后即将用到的资源,浏览器将在主体渲染前加载preload标记文件。Vue CLI 应用会为所有初始化渲染需要的文件自动生成 preload 提示;
Prefetch: 用于标记浏览器在页面加载完成后,利用空闲时间预加载的内容。Vue CLI 应用默认为所有作为 async chunk 生成的 JavaScript 文件 (通过动态 import() 按需 code splitting 的产物) 自动生成prefetch提示。
webpack配置
扩展:
在这里configureWebpack和chainWebpack的作用相同,唯一的区别就是他们修改webpack配置的方式不同:
这里配置了全局sass 需要安装的依赖 sass-loader less-loader
由于 sass-loader 版本不同,loaderOptions 中的 additionalData 的键名也不同
vue-cli3中的webpack与vue多页面应用开发
相关参数:
封装
很好的pwa插件相关配置
pwa介绍及使用
当运行项目并且打包的时候,会发现chunk-vendorsjs这个文件非常大,那是因为webpack将所有的依赖全都压缩到了这个文件里面,这时我们可以将其拆分,将所有的依赖都打包成单独的js;
上面已经提到过去掉打印的 *** 作(console、debug)这里详细讲解一下
新版uglifyjs-webpack-plugin需写成以下方式
gizp压缩是一种>
近来腾讯研究院首席经济学顾问吴绪亮在2021年第3期《清华管理评论》,发布[《新发展格局下数字经济创新的战略要点》](>
自学web前端你可以根据自己的实际情况看视频,现在培训机构都有web前端的视频,学习web前端就是“三多”多思考、多敲、多问 不懂的东西一定要问,过来的人肯定有自己的经验,站在巨人的肩膀上你肯定比一般人看得更远更多。还有就是多敲,键盘敲烂,薪资过万。推荐给你一个学习的路线图:
阶段1前端核心基础
HTML +_CSS核心、JavaScript基础语法、JavaScript面向对象、JavaScript DOM和
BOM编程、jQuery框架
阶段2HTML5 + CSS3 + 移动端核心
HTML5新特性、Canvas专列、CSS3新特性、CSS3进阶、CSS3实例演练
阶段3移动端
移动端核心、移动端适配、移动端特效
阶段4服务器端
服务器端开发、数据库 *** 作、前后端交互核心、微信公众号开发
阶段5JavaScript高级
JavaScript基础深入剖析、JavaScript面向对象深入讲解、JavaScript异步编程、
JavaScript函数式编程JavaScript设计模式
阶段6前端必备
性能优化、版本控制工具、模块化、项目构建工具
阶段7高级框架
React框架基本使用、React框架进阶、Vue框架基本使用、Vue框架进阶、Vue源码分析
阶段8小程序
原生小程序入门、原生小程序API使用、小程序框架Mpvue
前端学习路线图
这个学习路线图你按照顺序学习就可以了,希望对你有帮助。
CSS(Cascading Style Sheet)被译为级联样式表,做为一名前端从业人员来说,这个专业名词并不陌生,在行业中通常称之为“风格样式表(Style Sheet)”,它主要是用来进行网页风格设计的。通过设立样式表,可以统一地控制HTML(XHTML)中各标签的显示属性。可以使人更能有效的控制Web页面(或Web应用程序)外观,可以精确指定Web元素位置,外观以及创建特殊效果的能力。CSS拥有对网页对象和模型样式编辑能力,并能够进行初步交互设计,是目前基于文本展示最优秀的表现设计语言。CSS能够根据 不同使用者的理解能力,简化或者优化写法,针对各类人群有较强的易读性。
就CSS本身而言,对于大多数Web前端从业人员来说就不是问题。学过CSS的人都知道,它不是一种编程语言。你可以用它开发网页样式,但是没法用它编程。换句话说,CSS基本上是设计师的工具,不是程序员的工具。在程序员的眼里,CSS是很头痛的事情,它并不像其它程序语言,比如说PHP、Javascript等等,有自己的变量、常量、条件语句以及一些编程语法,只是一行行单纯的属性描述,写起来相当的费事,而且代码难易组织和维护。
很自然的,有人就开始在想,能不能给CSS像其他程序语言一样,加入一些编程元素,让CSS能像其他程序语言一样可以做一些预定的处理。这样一来,就有了“CSS预处器(CSS Preprocessor)”。
一、什么是CSS预处器
CSS预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为CSS增加了一些编程的特性,将CSS作为目标生成文件,然后开发者就只要使用这种语言进行编码工作。通俗的说,CSS预处理器用一种专门的编程语言,进行Web页面样式设计,然后再编译成正常的CSS文件,以供项目使用。CSS预处理器为CSS增加一些编程的特性,无需考虑浏览器的兼容性问题,例如你可以在CSS中使用变量、简单的逻辑程序、函数等等在编程语言中的一些基本特性,可以让你的CSS更加简洁、适应性更强、可读性更佳,更易于代码的维护等诸多好处。
CSS预处理器技术已经非常的成熟,而且也涌现出了很多种不同的CSS预处理器语言,比如说:Sass(SCSS)、LESS、Stylus、Turbine、Swithch CSS、CSS Cacheer、DT CSS等。如此之多的CSS预处理器,那么“我应该选择哪种CSS预处理器?”也相应成了最近网上的一大热门话题,在Linkedin、Twitter、CSS-Trick、知呼以及各大技术论坛上,很多人为此争论不休。相比过计我们对是否应该使用CSS预处理器的话题而言,这已经是很大的进步了。
到目前为止,在众多优秀的CSS预处理器语言中就属Sass、LESS和Stylus最优秀,讨论的也多,对比的也多。本文将分别从他们产生的背景、安装、使用语法、异同等几个对比之处向你介绍这三款CSS预处理器语言。相信前端开发工程师会做出自己的选择——我要选择哪款CSS预处理器。
二、Sass、LESS和Stylus背景介绍
为了能更好的了解这三款流行的CSS预处理器,我们先从其背景入手,简单的了解一下各自的背景信息。
1Sass背景介绍
Sass是对CSS(层叠样式表)的语法的一种扩充,诞生于2007年,最早也是最成熟的一款CSS预处理器语言,它可以使用变量、常量、嵌套、混入、函数等功能,可以更有效有d性的写出CSS。Sass最后还是会编译出合法的CSS让浏览器使用,也就是说它本身的语法并不太容易让浏览器识别,因为它不是标准的CSS格式,在它的语法内部可以使用动态变量等,所以它更像一种极简单的动态语言。
其实现在的Sass已经有了两套语法规则:一个依旧是用缩进作为分隔符来区分代码块的;另一套规则和CSS一样采用了大括号({})作为分隔符。后一种语法规则又名SCSS,在Sass3之后的版本都支持这种语法规则。
2LESS的背景介绍
2009年开源的一个项目,受Sass的影响较大,但又使用CSS的语法,让大部分开发者和设计师更容易上手。LESS提供了多种方式能平滑的将写好的代码转化成标准的CSS代码,在很多流行的框架和工具中已经能经常看到LESS的身影了(例如Twitter的Bootstrap框架就使用了LESS)。
根据维基百科上的介绍,其实LESS是Alexis Sellier受Sass的影响创建的一个开源项目。当时SASS采用了缩进作为分隔符来区分代码块,而不是CSS中广为使用的大括号({})。为了让CSS现有的用户使用起来更佳方便,Alexis开发了LESS并提供了类似CSS的书写功能。
3Stylus背景介绍
Stylus,2010年产生,来自于Nodejs社区,主要用来给Node项目进行CSS预处理支持,在此社区之内有一定支持者,在广泛的意义上人气还完全不如Sass和LESS。
Stylus被称为是一种革命性的新语言,提供一个高效、动态、和使用表达方式来生成CSS,以供浏览器使用。Stylus同时支持缩进和CSS常规样式书写规则。
注:Stylus上下载Ruby安装文件(随意选择一个版本),此处选择的是最新版本Ruby193-p385:
Ruby安装文件下载好后,可以按应用软件安装步骤进行安装Ruby。在安装过程中,个人建议将其安装在C盘下,在安装过程中选择第二个选项,如下图所示:
Ruby安装完成后,在开始菜单中找到新安装的Ruby,并启动Ruby的Command控制面板,如下图所示:
在启动的Ruby命令控制面板中输入下面的命令:
gem install sass
输入上面命令,回车后就会自动安装Sass:
这样Sass就安装成功了,也就可以使用了。
2LESS的安装
LESS的安装和Sass安装有所不同,他不需要依赖于Ruby环境,就能直接安装使用。不过LESS安装分为两种:客户端和服务器端安装。
a)客户端安装:
我们可以直接在客户端使用“less”(LESS源文件),只需要在官网载一个Javascript脚本文件主“lessjs”,然后在我们需要引入LESS源文件的HTML的<head>中加入如下代码:
<link rel="stylesheet/less" type="text/css" href="文件路径/stylesless"><script src="文件路径/lessjs" type="text/javascript"></script>
需要注意的是:在引入“less”文件中,“link”的“rel”属性要设置为“stylesheet/less”。还有更重要的一点需要注意的是:LESS源文件一定要在“lessjs”引入之前引入,这样才能保证LESS源文件正确编译解析。
b)服务器端安装
LESS在服务器端的使用主要是借助于LESS的编译器,将LESS源文件编译生成最终的CSS文件,目前常用的方式是利用node的包管理器(npm)安装LESS,安装成功后就可以在Node环境中对LESS文件进行编译。如此一来,LESS在服务器的安装和Sass的安装有点相似,不同之处是他们需依赖的环境不一样,LESS需要的是Node JS环境,而Sass需要的是Ruby环境,为了让大家能更清晰的知道如何在服务器端安装LESS,此处简单的过一下安装过程(本文演示的是在Window7下的安装方法)。
首先到Node Js的官网下载一个适合Windows系统的安装文件,此处下载的是“node-v0820-x86msi”:
安装文件下载后,按正常应用程序方法一样安装。安装完成后在开始菜单中启用Node js的Command控制面板:
在启动的Node Js的Command控制面板直接输入下面的命令:
$ npm install less
这样就安装完LESS的编译命令,可以在本地正常编译LESS源文件。如果您想下载最新稳定版本的LESS,还可以尝试在Node JS的Command控制面板输入:
$ npm install less@latest
3Stylus的安装
Stylus的安装和LESS在服务器端的安装很相似,同样依赖于Node JS的环境,也就是说也要先安装Node Js(如果安装Node JS请参考前面的介绍)。唯一不同的是在Node JS的Command控制面板输入的命令不一样:
$ npm install stylus
然后,就会自动下载安装最新的stylus库:
这样就算是安装完Stylus了,也可以正常使用Stylus。
四、Sass、LESS和Stylus转译成CSS
Sass、LESS和Stylus源文件(除了LESS源文件在客户端下运行之外)都不能直接被浏览器直接识别,这样一来,要正常的使用这些源文件,就需要将其源文件转译成浏览器可以识别的CSS样式文件,这也是使用CSS预处理器很关键的一步,如果这一步不知道如何 *** 作,那么意味着写出来的代码不可用。接下来按同样的方式,分别来看看三者之间是如何将其源文件转译成所需要的CSS样式文件。
1Sass源文件转译成CSS文件
Sass文件就是普通的文本文件,不过其文件后缀名有两种,一种为“sass”;另一种为“scss”。我们一般用“scss”就好,至于这两种文件扩展名的区别在于“sass”是Sass语言文件的扩展后缀名,而“scss”是SCSS语言文件的扩展后缀名,至于Sass和SCSS的详细区别这里不做介绍。你可以简单的理解为他们都是CSS预处理器语言,而且两者功能特性都一样,只是书写规则不同而以。
要转译Sass文件的前提是有文件可转,因此先在项目中创建一个Sass文件,此例中将其命名为“stylescss”,并且将其放在对应的项目样式中,如D盘的“>
启动Ruby的Command控制面板,找到需要转译的Sass文件,如此例此文件放置在D盘的“>
如果仅针对于单文件的转译,需要将“stylescss”转译成“stylecss”,只需要在对应的目录下输入下面的命令:
$ sass stylescss stylecss
这样原本在D盘的“>
当然,我们不可能每保存一次这个Sass文件就来执行一回这个转译命令。那么有没有更好的办法实现呢?回答是肯定的,可以通过下面的监听命令实现,这样一来只要Sass文件做了修改,就会自动更新对应的CSS样式文件。
单文件的监听,只需要在刚才的命令控制面板中输入:
$ sass --watch stylescss:stylecss
按下回车键(Enter),就会看到下面的提示信息:
看到上图所示的提示信息就表示监听成功,这样一来,你只要修改了“stylescss”文件,“stylecss”文件就会随着更新变化。
对于一个项目而言,不太可能只有一个CSS样式文件,如果有多个Sass文件需要监听时,就很有必要的组织一下。默认情况之下,我喜欢把所有的Sass文件放在“/css/sass”目录中,而生成的CSS文件则直接放在“/css”目录下。现在我们修改一下项目文件目录结构,在“/css”目录中再创建一个“sass”目录,并找刚才创建的“stylescss”文件移至“/css/sass”目录下。此时监听“css/sass”下的所有Sass文件时,可以在命令面板中输入如下格式的命令:
$ sass --watch sassFileDirectory:cssFileDirectory
在本例中,冒号前面的“sassFileDirectory”是指“/css/sass”下的“sass”目录,冒号后面的“cssFileDirectory”是指“css”目录,对应的命令就是:
$ sass --watch css/sass:css
回车后,同样可以得到提示信息:
除了使用Ruby的Command控制面板转译Sass之外还可以考虑第三方工具,比如说有名的Compassapp和fireapp。
2LESS文件的转译成CSS文件
LESS文件的转译和Sass文件转译可以说是大同小异,不同之处是LESS在安装的Node JS环境下通过其自己的命令来进行转译。
$ lessc styleless
上面的命令会将编译的CSS传递给stdout,你可以将它保存到一个文件中:
$ lessc styleless > stylecss
除了上面的命令转译LESS源文件之外,现在还有很多第三方开发的工具,比较常见的有:SimpleLess、Lessapp、LESS编译辅助脚本-LESS2CSS、WinLess和CodeKitapp等,我个人现在常用的是WinLess工具,简单易用,不过在IOS系统下LESSapp和CodeKitapp很好用。
3Stylus源文件转译成CSS文件
Stylus具有可执行性,因此Stylus能将自身转换成CSS。Stylus可以读取自“stdin”输出到“stdout”,因此Stylus可以像下面转译源文件:
$ stylus –compress <somestyl> somecss
Stylus也像Sass一样,同时接受单个文件和整个目录的转译。例如,一个目录名为“css”将在同一个目录编译并输出“css”文件。
$ stylus css
下面的命令将输出到“/public/stylesheets”:
$ stylus css –out public/stylesheets
还可以同时转译多个文件:
$ stylus onestyl twostyl
如果你的浏览器安装了Firebug,那么可以使用FireStylus扩展。
$ stylus –firebug <path>
五、Sass、LESS和Stylus的语法
每一种语言都有自己一定的语法规则,CSS预处理器语言也不例外,在真正使用CSS预处器语言之前还有一个不可缺少的知识点,就是对语法的理解。值得庆幸的是,这三款CSS预处理器语言的语法和CSS语法都差不多。
1Sass语法
Sass30版本开始使用的是标准的CSS语法,和SCSS可以说是一样的。这样Sass代码转换成CSS代码变得更容易。默认Sass使用“scss”扩展名。Sass语法规则可以像CSS那样书写:
/stylesass新版语法规则/h1{ color:#936;
background-color:#333;}
正如你所看到的,在Sass样式中,这样的代码是在简单不过的了。
重要的一点是,Sass也同时支持老的语法,老的语法和常规的CSS语法略有不同,他需要严格的语法,任何的缩进和字符的错误都会造成样式的编译错误。Sass可以省略大括号({})和分号(;),完全依靠严格的缩进和格式化代码,而且文件使用“sass”扩展名,他的语法类似于:
/stylesass/h1
color:#936
background-color: #333
2LESS语法
LESS是CSS的一种扩展形式,它并没有阉割CSS的功能,而是在现有的CSS语法上,添加了很多额外的功能。就语法规则而言,LESS和Sass一样,都是使用CSS的标准语法,只是LESS的源文件的扩展名是“less”,其基本语法类似于:
/styleless/h1 { color: #963;
background-color: #333;}
3Stylus语法
Stylus的语法花样多一些,它的文件扩展名是“styl”,Stylus也接受标准的CSS语法,但是他也像Sass老的语法规则,使用缩进控制,同时Stylus也接受不带大括号({})和分号的语法,如下所示:
/stylestyl//类似于CSS标准语法/h1 { color: #963;
background-color:#333;}/省略大括号({})/h1
color: #963; background-color: #333;/省略大括号({})和分号(;)/h1
color:#963
background-color:#333
在Stylus样式中,你也可以在同一个样式文件中使用不同的语法规则,下面这样的写法也不会报错:
/stylestyl/h1 {
color #963}
h2
font-size:12em
六、Sass、LESS和Stylus特性
这三款CSS预处理器语言具有一些相同的特性,例如:变量、混入、嵌套、函数等。在这一节中,我们依次来对比一下这三款CSS预处理器语言各种特性的异同之处,以及使用方法。
1变量(Variables)
如果你是一个开发人员,变量应该是你最好朋友之一。在CSS预处理器语言中你也可以声明变量,并在整个样式表中使用。CSS预处理器语言支持任何变量(例如:颜色、数值、文本)。然后你可以在任意地方引用变量。
a)Sass的变量
Sass声明变量必须是“$”开头,后面紧跟变量名和变量值,而且变量名和变量值需要使用冒号(:)分隔开。就像CSS属性设置一样:
/声明变量/$mainColor: #963;$siteWidth: 1024px;$borderStyle: dotted;/调用变量/ | /转译出来的CSS/------------------------------------------+------------------------------
body { | body {
color: $mainColor; | color: #963;
border:1px $borderStyle $mainColor; | border:1px dotted #963;
max-width: $siteWidth; | max-width: 1024px;
} | }
b)LESS的变量
LESS样式中声明变量和调用变量和Sass一样,唯一的区别就是变量名前面使用的是“@”字符:
/声明变量/@mainColor: #963;@siteWidth: 1024px;@borderStyle: dotted;/调用变量/ | /转译出来的CSS/----------------------------------------+-------------------------------
body { | body {
color: @mainColor; | color:#963;
border:1px @borderStyle @mainColor; | border:1px dotted #963;
max-width: @siteWidth; | max-width:1024px;
} | }
c)Stylus的变量
Stylus样式中声明变量没有任何限定,你可以使用“$”符号开始。结尾的分号(;)可有可无,但变量名和变量值之间的等号(=)是需要的。有一点需要注意的是,如果我们使用“@”符号开头来声明(0224)变量,Stylus会进行编译,但其对应的值并不会赋值给变量。换句话说,在Stylus中不要使用“@”符号开头声明变量。Stylus中调用变量的方法和LESS、Sass是完全相同的。
/声明变量/mainColor = #963;siteWidth = 1024px;$borderStyle = dotted;/调用变量/ | /转译出来的CSS/----------------------------------------+--------------------------------
body | body {
color mainColor | color: #963;
border 1px $borderStyle mainColor | border:1px dotted #963
max-width siteWidth | max-width:1024px;
| }
Stylus还有一个独特功能,不需要分配值给变量就可以定义引用属性:
/水平垂直居中/ | /转译出来的CSS/------------------------------------+------------------------------------#logo | #logo {
position absolute | position:absolute;
top 50% | top:50%;
left 50% | left:50%;
width w = 150px | width:150px;
height h = 80px | height:80px;
margin-left -(w / 2)
如何生成vite的vue项目,网上教程已经有很多,在此就不多说了,在此聊一聊在刚接触vite时,配置scss所遇到的问题。
首先执行初始化项目命令,并安装依赖,运行项目:
创建src/assets/styles/test1scss文件
写入样式内容:
安装sass
修改viteconfigts配置文件,配置引入scss
此时发现页面并未应用样式
然后创建src/assets/styles/test2scss文件,并在 maints 入口文件引入
如果你的项目遇到了此类报错,或者其他莫名其妙的报错
可能是因为sass版本过高导致的。
卸载sass,试试安装版本低一些的sass。
本次示例使用的sass@1326版本。
当在maints中引入后,发现在vite配置引入的scss样式应用成功。
可能是项目中引用scss文件时才会触发vite的scss配置,具体原理尚未搞清,在此给遇到此问题的新手一个解决参考。
Web前端是一个新兴职业,市场需求大,薪资待遇高,吸引了很多人加入学习。无论是初学小白亦或是自身前端开发人员,好用的软件工具可以帮助他们更好的工作。今天千锋武汉给大家分享一下Web前端开发用什么软件。
1、Sublime Text
Sublime Text是一个代码编辑器也是HTML和散文先进的文本编辑器。漂亮的用户界面和非凡的功能,例如迷你地图,多选择,Python的插件,代码段,等等。完全可自定义键绑定,菜单和工具栏。Sublime Text的主要功能包括:拼写检查,书签,完整的Python API,Goto功能,即时项目切换,多选择,多窗口等等。
2、Dreamweaver
Adobe Dreamweaver使用所见即所得的接口,亦有HTML(标准通用标记语言下的一个应用)编辑的功能,借助经过简化的智能编码引擎,轻松地创建、编码和管理动态网站。 访问代码提示,即可快速了解 HTML、CSS 和其他Web 标准。使用视觉辅助功能减少错误并提高网站开发速度。
3、Visual Studio Code
Visual Studio Code中文版是微软推出的带 GUI 的代码编辑器,软件功能非常强大,界面简洁明晰、 *** 作方便快捷,设计得很人性化。软件主要改进了文档视图,完善了对 Markdown的支持,新增PHP语法高亮。
4、HBuilder
HBuilder是专为前端打造的开发工具,具有飞一样的编码、最全的语法库和浏览器兼容数据、可以方便的制作手机APP、最保护眼睛的绿柔设计等特点。支持HTML、CSS、JS、PHP的快速开发。从开放注册以来深受广大前端朋友们的喜爱。
5、WebStorm
WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。
想知道“Web前端开发用什么软件”,通过网上搜索你可以发现很多,而能否很好的借助这些软件完成项目,关键还要看你的技术。千锋武汉网站上有以上这些工具的安装包,需要的小伙伴自己去下载吧。
以上就是关于有sass-loader还需要node-sass吗全部的内容,包括:有sass-loader还需要node-sass吗、vue.config.js中的webpack配置,优化及多页面应用开发、云计算sass与pass等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)