插件整理

extract-text-webpack-plugin

用于将css/less/sass等文件单独打包

https://webpack.docschina.org/plugins/extract-text-webpack-plugin/#src/components/Sidebar/Sidebar.jsx

1.引入

2.配置loader

style-loader用于为css包一层Js,以插入到html中,这里不用。

3.定义插件

打包好的css即为styles.css

vue-loader

https://vue-loader.vuejs.org/guide/#manual-configuration

 

cross-env

用于跨平台设置环境变量,比如process.env.NDOE_ENV,以根据不同的值进行不同的配置

https://www.npmjs.com/package/cross-env

1.安装:npm i cross-env --save-dev

2.package.json脚本中配置命令:

相当于:通过cross-env设置proccess.env.NODE_ENV为development,并运行webpack命令。

webpack.DefinePlugin

用于在业务代码中,和在webpack编译过程中,设置全局变量;

vue、react等包括好几个版本(比如开发版本会包含很多错误提示等),webpack根据这些变量名确定该打包哪个版本。

https://webpack.docschina.org/plugins/define-plugin/

注意:cross-env是设置node运行环境中的process对象,但在业务代码中(比如main.js)无发判断这个值,

这个插件将这个值配置到业务代码的全局环境中。

1.引入webpack

2.配置插件

stylus-loader

用于编写stylus格式css(相应于less/sass)

1.安装stylus-loader

2.配置

{
  test: /\.styl/,
  use: ["style-loader","css-loader",
  "stylus-loader"]
},

autoprefixer

用于自动添加css前缀,不用写-webkit-/-moz-等一大串。

postcss-loader用于对翻译好的css进行优化,通过一些插件完成,autoprefixer就是其中一个。

1.创建postcss.config.js并配置:

2.

babel-loader

处理vue中的jsx格式

1.下载babel-core/babel-loader/babel-preset-env/babel-plugin-transform-vue-jsx

2.配置babel,创建.babelrc

3.配置webpack.config.js

optimization.splitChunks

用于分离第三方库

 

rimraf

用于删除目录的工具包

注意:直接在cmd命令行执行:

rimraf dist

提示rimraf不识别,需要在package.json中配置命令并通过npm run ***执行

 

babel-preset-stage-1

用于识别es6等更高级语法,或还在草案中的语法,比如对象扩展符号...

1.npm install babel-preset-stage-1 --save-dev

2..babelrc文件中presets数组中添加"stage-1"

vue-server-renderer

vue服务端渲染必需的插件,生成独立的json,用于配置复杂的逻辑。正因有这个插件,vue的服务端渲染比react容易

 

koa-router

kou中间件,帮助koa处理路由信息

 

axios

用于应用向服务端发送请求

 

memory-fs

和node中的fs基本相同,唯一区别:对于读取的文件,node中的fs存到磁盘上,memory-fs存到内存

 

optimize-css-assets-webpack-plugin

用于压缩extract-text-webpack-plugin生成的css文件

1.引入

2.配置

cross-env NODE_ENV=development webpack-dev-server --config webpack.config.js

命令对应的开发环境下配置:

不设置hot:true,会是页面整体更新,已经写进去的数据也会没有,

设置后,只是有改动的模块更新。

webpack学习笔记 ——篇2的更多相关文章

  1. webpack学习笔记(二)-- 初学者常见问题及解决方法

    这篇文章是webpack学习第二篇,主要罗列了本人在实际操作中遇到的一些问题及其解决方法,仅供参考,欢迎提出不同意见. 注:本文假设读者已有webpack方面相关知识,故文中涉及到的专有名词不做另外解 ...

  2. 【原】webpack学习笔记

    之前在react的项目中有用过webpack,不过没有认真的去研究,这段时间又重新好好的学习一下webpack,发觉 webpack是一个很强大的东西.而且很好用,方便,接下来主要是做一下学习的笔记 ...

  3. 更博不能忘——webpack学习笔记

    webpack是前端构建系统就像grunt和gulp(之前有学习过grunt所以也就大概明白webpack是个什么东西),所以说前端技术大部分还真是相通的,现在觉得当时多看的东西并不白费,虽然长时间不 ...

  4. webpack学习笔记一:安装webpack、webpack-dev-server、内存加载js和html文件、loader处理非js文件

    一 .webpack学习环境准备: 1:window系统 2:安装node.js  官方网址 下载好后下一步下一步安装即可 安装步骤略过....... 3:nrm的安装 打开cmd命令控制台 输入:n ...

  5. Webpack学习笔记九 webpack优化总结

    webpack 优化笔记 webpack4 自带的优化包括 swingTree(摇摆树)和作用域提升 swingTree 比如入口文件 index.js引入通用方法 util, 里面有 10个方法, ...

  6. Webpack学习笔记一:What is webpack

      #,Loaders干嘛的,webpack can only process JavaScript natively, but loaders are used to transform other ...

  7. webpack学习笔记—webpack安装、基本配置

    文章结构: 什么是webpack? 安装webpack 'webpack基本配置 一.什么是webpack? 在学习react时发现大部分文章都是react和webpack结合使用的,所以在学reac ...

  8. 【webpack学习笔记(一)】流行的前端模块化工具webpack初探

    从开发文件到生产文件   有一天我突然意识到一个问题,在使用react框架搭建应用时,我使用到了sass/less,JSX模版以及ES6的语法在编辑器下进行开发,使用这些写法是可以提高开发的效率.可是 ...

  9. webpack学习笔记——sourcemap(使用webpack打包的项目如何调试代码)

    [webpack]devtool里的7种SourceMap模式是什么鬼? 里面详细介绍了7种模式的区别,和建议使用. webpack sourcemap 选项多种模式的一些解释 两篇文章大同小异,第一 ...

随机推荐

  1. 瀑布流布局(等宽不等高jQuery)

    在百度上看见的好多都是引用Masonry插件   ,之后我自己尝试了一个没有使用插件的 <body> <div id="main"> <div cla ...

  2. 如何使用git拉取代码及提交代码(详细)

    分享给刚进入公司的小伙伴们鸭! 第一步:首先在本地安装git和TorToiseGit小乌龟,svn同理,也可以安装下TorToiseGit中文语言包,前期可减少出错,后期熟悉了可直接用命令行pull代 ...

  3. Django中ORM介绍和字段及字段参数

    Object Relational Mapping(ORM) 1 ORM介绍 1.1 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对 ...

  4. 空list赋值

    list=[] i =0 list[i] =1 Traceback (most recent call last): File "D:\ProgramData\Anaconda3\lib\s ...

  5. Educational Codeforces Round 41 (Rated for Div. 2)F. k-substrings

    题意比较麻烦略 题解:枚举前缀的中点,二分最远能扩展的地方,lcp来check,然后线段树维护每个点最远被覆盖的地方,然后查询线段树即可 //#pragma GCC optimize(2) //#pr ...

  6. vue-cli3.0怎么修改端口?

    在根目录新建 vue.config.js 文件 module.exports = { devServer: { port: 8888, // 端口 }, lintOnSave: false // 取消 ...

  7. 不安全代码只会在使用 /unsafe 编译的情况下出现

    在你的项目属性页面里面,把是否包含unsafe代码的选项选上

  8. C++标准模板库(STL)之Vector

    在C中,有很多东西需要自己实现.C++提供了标准模板库(Standard Template Libray,STL),其中封装了很多容器,不需要费力去实现它们的细节而直接调用函数来实现功能. 具体容器链 ...

  9. Rhino学习教程——1.2

    实战——创建个性化工具栏: 因为我们的制图习惯不同,所以可以吧自己常用的工具放在一起.我上次说的自定义界面就是这个和调整工具栏位置. 1.打开常用>设置 2.选择工具列>编辑>新增工 ...

  10. SQL Server数据库开发的二十一条军规

    如果你正在负责一个基于SQL Server的项目,或者你刚刚接触SQL Server,你都有可能要面临一些数据库性能的问题,这篇文章会为你提供一些有用的指导(其中大多数也可以用于其它的DBMS).在这 ...