在项目中为scss或less文件启用模块化

简介: 一、思考第三方样式表达问题,如何做二、在项目中启用模块化并同时使用bootstrap

在项目中为scssless文件启用模块化

 

目录

一、思考第三方样式表达问题,如何做

二、在项目中启用模块化并同时使用bootstrap

 

一、思考第三方样式表达问题,如何做


1、先安装cnpm i bootstrap@3.3.7-S版本,再使用


2、按钮键的代码设置:


1<button class Name={boot css .btn>按钮</hutton>

{this .state .Comment List .map(item => <Cm tItem {...item} key={item.id}></Cm tItem>)}(会有类名)


2<button class Name={ [boot css .btn, boot css[ 'btn-primary']].join('')>按钮</button>

{this .state .Comment List. map(item =><Cm tItem {...item} key={item.id}</Cm tItem>)}

执行结果:

image.png

3Bootstrap样式表代码设置:

import css obj from '@/css/cmtlist.css'

console.log(css obj);

//如果在引用某个包的时候,这个包被安装到了 node_ modules目录中

//则可以省略node_ modules这一层目录,直接以包名开始引入自己的模块或样式表当中。

//自己规定: 第三方的 样式表,都是以,css结尾,这样,我们不要为 普通的,css启用模块化

import boot css from 'bootstrap/dist/css/bootstrap .css


4、字体图标文件处理:

//有个固定的参数,叫做 modules ,表示为普通的CSS样式表,启用模块化;

{ test: /.css$/, use:['style-loader','css-loader ?modules& local Ident Name =[path][name]-[local]-[hash:5]']},

/打包处理CSS样式表的第三方

{ test: /\.ttflwofflwoff2leotIsvg$/ , use: 'url-loader' },

/打包处理字体文件

]


5loader的安装:

cnpm i ur1-loader -D

如果需要生效,需要重新启动服务器。


6、如何解决已经启动的模块化,避免重复

1)如果在引用某个包的时候,这个包被安装到了 node_ modules目录中,则可以省略node_ modules这一层目录,直接以包名开始引入自己的模块或样式表;


2)自己规定:第三方的样式表,都是以.css 结尾,这样就不要为普通的.css启用模块化;自己的样式表,都要以.scss .less 结尾,只为.scss.less文件启用模块化。

import bootcss from 'bootstrap/dist/css/bootstrap.css'

console.log(boot css)


3)改过自己的样式表之后:

import React from 'react'

import css obj from '@/css/cm titem. sess

'console.log(css obj);

export default function Cm tItem(props){

return <div class Name={css obj. cmt box}>

<h1 class Name={css obj. title}评论人: {props .user}</h1>

<p class Name={css obj. content}>评论内容:{props. content}</p>

</div>

 

二、在项目中启用模块化并同时使用bootstrap


1.把自己的样式表,定义为.scss文件

2.第三方的样式表,还是以.css 结尾

3.我们只需要为自己的.scss文件,启用模块化即可;

4.运行cnpm i sass-loader node-sass -o安装能够解析scss文件的loader

举例:

//其中,有个固定的参数,叫做 modules ,表示为普通的css 样式表,启用模块化

{ test: /.css$/, use: [ 'style-loader ', 'css-loader']}

//打包处理CSS样式表的第三方loader

{test: /\.ttflwofflwoff2|eotlsvg$/, use: 'url-loader' },

//打包处理字体文件的loader

{ test:/ \.scss$/, use: [ 'style-loader ', 'css-loader ?modules &local Ident Name=[path][name ]-[local]-[hash:5]', 'sass-loader'] }

//打包处理scss文件的loader

执行结果:

{title: "src-css-cmtitem-title-5df8 b"content:"src-css-cmtitem-content-fc5ee", cmtbow:"src-css-cmtiterm-cmtbox-f2f55""}

{title: "src-css-cmtlist-title-66e92"}

{}

[WDS] Hot Nodule Replacement enabled.

相关文章
|
27天前
|
前端开发 JavaScript
【经典】全局公共scss文件的引入使用
【经典】全局公共scss文件的引入使用
|
13天前
|
JavaScript IDE 编译器
TypeScript中模块路径解析与配置:深入剖析与最佳实践
【4月更文挑战第23天】本文深入探讨了TypeScript中模块路径解析的原理与配置优化,包括相对路径、Node.js模块解析和路径别名。通过配置`baseUrl`、`paths`、`rootDirs`以及避免裸模块名,可以提升开发效率和代码质量。建议使用路径别名增强代码可读性,保持路径结构一致性,并利用IDE插件辅助开发。正确配置能有效降低维护成本,构建高效可维护的代码库。
|
2月前
|
JavaScript 前端开发
除了ES6的模块导出语法,还有哪些其他的方式可以在Vue项目中进行模块化开发?
除了ES6的模块导出语法,还有哪些其他的方式可以在Vue项目中进行模块化开发?
16 2
|
5月前
|
前端开发 小程序 PHP
laravel5.8(四)引入自定义常量文件及公共函数文件
开发过程中,我们一般会用到一些不会改变,或者改变不是很频繁的值,这样的值我们一般将他们定义成常量。 比如网站根目录,或者分页数,或者域名等等。 那我们如何在laravel5.8中引入自定义的常量文件及公共的函数文件呢。 大概有两种方式: 1:框架目录下引入(不推荐) 在框架目录vendor下新建常量文件const.php,以及公共函数文件function.php 在autoload.php文件中引入。 这种方法是可以的,但是不推荐,框架目录下最好都是框架自己的那些文件,正常来说,框架的文件我们在开发过程中,git是不会进行托管的。 2:在app目录下引入 在bootstrap目录下新建常量文件
29 0
|
6月前
|
JavaScript 前端开发 Java
项目引入文件的常见报错
项目引入文件的常见报错
47 5
|
10月前
|
前端开发
DSP开发软件css(10)使用基础(汉化、工程导入、设置目标配置文件、选择仿真器和芯片型号、添加文件|库路径、编译下载等操作)
DSP开发软件css(10)使用基础(汉化、工程导入、设置目标配置文件、选择仿真器和芯片型号、添加文件|库路径、编译下载等操作)
112 0
|
10月前
|
JavaScript
vue项目引入路径前面的@符号是什么?(简化路径)
vue项目引入路径前面的@符号是什么?(简化路径)
在vuecli3怎么设置全局公用的样式变量?
在vuecli3怎么设置全局公用的样式变量?
134 0
webpack进阶篇(十五):PostCSS 插件 autoprefixer 自动补齐 CSS3 前缀
webpack进阶篇(十五):PostCSS 插件 autoprefixer 自动补齐 CSS3 前缀
342 0
webpack进阶篇(十五):PostCSS 插件 autoprefixer 自动补齐 CSS3 前缀
|
前端开发 开发者
在项目中为 scss 或 less 文件启用模块化2|学习笔记
快速学习在项目中为 scss 或 less 文件启用模块化2
73 0