1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > dist里面的css css文件单独打包到dist文件夹后面 生成单独的css 文件

dist里面的css css文件单独打包到dist文件夹后面 生成单独的css 文件

时间:2021-08-11 05:00:15

相关推荐

dist里面的css css文件单独打包到dist文件夹后面 生成单独的css 文件

css文件单独打包到dist文件夹后面,生成单独的css 文件

打包css文件,并把css文件单独打包出来到dist文件夹中,打包后的html会自动引入打包后的css,js文件

这种打包方式,需要 CSS样式抽离之mini-css-extract-plugin插件

步骤:

1.安装: npminstallmini-css-extract-plugin-D

2. 引入变量 var MiniCssExtractPlugin = require("mini-css-extract-plugin"); // 单独打包后的 .css 插件 , 新版本都采用这个

3.模块配置

module: { //文件加载器 loader

/* 单独打包 分离 css 和 js 文件插件开始 */

rules: [

{

test: /\.css$/,

use : [

MiniCssExtractPlugin.loader,

{ loader: "css-loader" }

]

},

/* 单独打包 分离 css 和 js 文件插件结束 */

]

},

4. 插件配置:注意,分离打包js和css文件的时候,,html插件在注册使用的时候,不能引入入口里的js文件名,否则,还是会打包成单独一个js

plugins: [

new MiniCssExtractPlugin({ // 压缩打包css 文件插件

filename: "css/[name].css" // 打包后最终生成的 dist 文件里面的 打包后的 css 文件

}),

new htmlWebpackPlugin({ // 打包 A.html 文件插件

minify:{

minimize:true,//是否打包为最小值

removeAttrbuteQuotes:true,//去除引号

removeComments:true,//去掉注释

collapseWhitespace:true,//去掉空格

minifyCss:true,//压缩css

removeEmptyElements:false,//清理内容为空的元素

},

template:"./htmlDist/cn/A.html" , // 引入需要打包的 html 文件 ,并生成到 最终的dist 文件夹里面去,

// title:'A.html', // 最终生成的 文件名

// chunks:['js/a'], //需要引入的js文件名称,就是入口里面,自己命名的结果

filename: "A.html", //生成html文件的文件名,默认是index.html

hash:true , //引入产出的资源时加上哈希避免缓存

inject: true,

}),

]

webpack.config.js配置如下

const path=require('path'); //调用node.js中的路径

const {CleanWebpackPlugin} = require('clean-webpack-plugin'); // 清除旧的出口文件,使用 有hash 值的新文件

var htmlWebpackPlugin = require('html-webpack-plugin'); // 打包 html 插件

var MiniCssExtractPlugin = require("mini-css-extract-plugin"); // 单独打包后的 .css 插件 , 新版本都采用这个

// var ExtractTextPlugin = require('extract-text-webpack-plugin'); // 抽离 css 文件打包插件 ; 这个版本引进被废弃

module.exports={

// mode:"development" , //开发模式,没有对js等文件压缩,默认生成的是压缩文件

mode : 'production' ,

entry:{ // 单个 js 打包

'js/a':'./htmlDist/cn/js/A.js' , // 分页打包成 css

'js/b':'./htmlDist/cn/js/B.js' , // 分页打包成 css

},

output:{

// __dirname 表示webpack.config.js 这个配置文件的位置

// filename:'[name].js', //输入的文件名是什么,生成的文件名也是什么,默认配置

filename:'[name].[chunkhash:8].js',//增加8位的哈希值,生成新的动态文件 ,

path:path.resolve(__dirname,'dist') //指定生成的文件目录

},

plugins:[

new CleanWebpackPlugin() , // 使用清除旧文件的插件

new MiniCssExtractPlugin({

filename: 'css/[name].css', // 打包分离后的文件名

}),

new htmlWebpackPlugin({ // 打包 A.html 文件插件

minify:{

minimize:true,//是否打包为最小值

removeAttrbuteQuotes:true,//去除引号

removeComments:true,//去掉注释

collapseWhitespace:true,//去掉空格

minifyCss:true,//压缩css

removeEmptyElements:false,//清理内容为空的元素

},

template:"./htmlDist/cn/A.html" , // 引入需要打包的 html 文件 ,并生成到 最终的dist 文件夹里面去,

// title:'A.html', // 最终生成的 文件名

// chunks:['js/a'], //需要引入的js文件名称

filename: "A.html", //生成html文件的文件名,默认是index.html

hash:true , //引入产出的资源时加上哈希避免缓存

inject: true,

}),

new htmlWebpackPlugin({ // 打包 B.html 文件插件

minify:{

minimize:true,//是否打包为最小值

removeAttrbuteQuotes:true,//去除引号

removeComments:true,//去掉注释

collapseWhitespace:true,//去掉空格

minifyCss:true,//压缩css

removeEmptyElements:false,//清理内容为空的元素

},

template:"./htmlDist/cn/B.html" , // 引入需要打包的 html 文件 ,并生成到 最终的dist 文件夹里面去,

// title:'A.html', // 最终生成的 文件名

// chunks:['js/a'], //需要引入的js文件名称

filename: "B.html", //生成html文件的文件名,默认是index.html

hash:true , //引入产出的资源时加上哈希避免缓存

inject: true,

}),

],

devServer: { // 本地服务器配置

contentBase: './dist', //默认本地服务器所在的根目录

historyApiFallback: true, //是否跳转到index.html

inline: true, //源文件改变时刷新页面

port: 8084 , //端口号,默认8080

hot: true,

},

module: { //文件加载器 loader

/* 单独打包 分离 css 和 js 文件插件开始 */

rules: [

{

test: /\.css$/,

use : [

MiniCssExtractPlugin.loader,

{ loader: "css-loader" }

]

},

/* 单独打包 分离 css 和 js 文件插件结束 */

]

},

performance: { // 就是为了加大文件允许体积,提升报错门栏。

hints: "warning", // 枚举

maxAssetSize: 500000, // 整数类型(以字节为单位)

maxEntrypointSize: 500000, // 整数类型(以字节为单位)

assetFilter: function(assetFilename) {

// 提供资源文件名的断言函数

return assetFilename.endsWith('.css') || assetFilename.endsWith('.js');

}

},

watch:true , // 时时监控

}

注意:这种打包,会生成单独的 多个 css ,js 文件,并且,html 页面会自动引入 css ,js 文件,(会全部引入)

css文件单独打包到dist文件夹后面,生成单独的css 文件 相关文章

linux 文件上传下载

1、简述 通常,利用SSH管理远程Linux服务器时,经常需要与本地交互文件。当然,我们可以利用FTP方式,比如通过Filezilla客户端软件。不过直接使用SSH软件(SecureCRT、Xshell)自带的上传和下载功能无疑使最方便快捷的。通常SSH软件支持的文件传输协议主要有

quartz 任务错过处理, java读取resource下文件,JSONObject、String、Map互相转换,Array、List、Set互转实例

quartz 任务错过处理 [来源1] [来源2] 采用StatefulJob,使jobDetails顺序执行,只有前一次job运行完成后,才会运行本次job; 而多个jobDetails可以并行,互不影响,因为它们是多个线程各自运行; // 设置错失触发后的调度策略 withMisfireHandlingInstructionDoN

vue添加水印

创建watermark.js文件 let watermark = {}let setWatermark = (str) = { let id = '1.23452384164.123412415' if (document.getElementById(id) !== null) { document.body.removeChild(document.getElementById(id)) } let can = document.createElement('c

css readonly和disabled的区别

readonly表示“只读”,一般表示对于文字内容只读,即不可更改内容,对于非文字的表单“只读”与“不只读”似乎没有啥区别; disabled表示“使残废,使无效”,都残废了,那还管你有没有文字内容,都得残掉。 1、readonly和disabled作用元素的范围不同 那么

【RobotFramework】使用RequestLibrary编写通过表单方式提交xlsx文件的测试用例

最近小组成员碰到一个需求,需要使用Robot Framework的RequestLibrary库实现通过表单的方式提交xlsx到接口的测试用例。研究了一下RequestLibrary的相关文档,RequestLibrary是可以支持这样的操作的。 RequestLibrary的官方文档现在建议使用Post On Session来

Java操作Word(docx), 填充模板文件并转为pdf

Java操作Word('docx'), 填充模板文件并转为pdf 1. pom相关依赖 工具poi-tl (操作word文档模板) + jacob (将操作后的word模板转为pdf) !-- poi-tl的pom依赖 -- dependency groupIdcom.deepoove/groupId artifactIdpoi-tl/artifactId version1.9.1/version/dep

上传本地文件到gitee

上传本地文件夹到gitee 基本准备 需要在gitee上创建相应的仓库 需要有git的客户端 配置git工具与基本信息 在桌面中直接 git bash here 打开指令框。进行配置 // gitee用户名git config --global user.name "Serendipitychen"//gitee账户邮箱git config --glo

GO学习-(13) Go语言基础之文件操作

Go语言文件操作 本文主要介绍了Go语言中文件读写的相关操作。 文件是什么 计算机中的文件是存储在外部介质(通常是磁盘)上的数据集合,文件分为文本文件和二进制文件。 打开和关闭文件 os.Open() 函数能够打开一个文件,返回一个 *File 和一个 err 。对得到

【史上最全】Hadoop 核心 - HDFS 分布式文件系统详解(上万字建议收藏)

1. HDFS概述 Hadoop 分布式系统框架中,首要的基础功能就是文件系统,在 Hadoop 中使用 FileSystem 这个抽象类来表示我们的文件系统,这个抽象类下面有很多子实现类,究竟使用哪一种,需要看我们具体的实现类,在我们实际工作中,用到的最多的就是HDFS(分布

sed替换配置文件

sed -r -e "s#(.*ip: ).*#199.199.10.102#g" application.ymlsed -r -e "s#(.*ip: ).*#\1199.199.10.102#g" application.ymlsed -r -e "s#(ip: ).*#\1199.199.10.102#g" application.ymlsed -r -e "s#(ip: ).*#\1199.199.10.102#g" -e "s#(url: jdbc:mysql:/

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。