Webpack学习心得

一、webpack基本学习 如果我们想在自己的模块中加入一些比较特别的内容:比如添加一个noscript标签,在用户的JavaScript被关闭时,给予相应的提示;比如在开发vue或者react项目时,我们需要一个可以挂载后续组件的根标签这个时候我们需要一个属于自己的index.html模板: 阅读详情

一、webpack简介

能把各种资源,例如JS(含JSX),coffee,样式(含less/sass),图片等都作为模块来使用和处理,因此,webpack中的js可以引用css,css中可以嵌入图片dataUrl

二、webpack的优势
webpack是一个前段工具,可以让各个模块进行加载,预处理操作后,在进行打包的过程;它有Grunt和Gulp所有的的基本功能。
优点:

  1. 支持commonJS和AMD模块。
  2. 支持很多模块加载器的调用,可以使模块加载器灵活定制,比如babel-loader加载器,该加载器能使我们使用ES6的语法来编写代码。
  3. 可以通过配置打包成多个文件,有效的利用浏览器的缓存功能提升性能。
  4. 使用模块加载器,可以支持sass,less等处理器进行打包且支持静态资源样式以及图片进行打包。

三、webpack的安装
1. 安装全局的webpack命令:npm install -g webpack.
2. 在项目的根目录下创建配置项:npm install
3. webpack安装作为项目开发所需要的依赖项:npm install –save-dev webpack
4. webpack打包命令:
(1)、webpack app/main.js public/webpack.js。
app/main.js是要打包的文件目录,public/webpack.js是要打包后的文件路径和名称。

(2)、新建webpack.config.js文件,在里面写上

运行命令:webpack
(3)、在package.json中script标签内添加一个命令行:”start”:”webpack”,
这里写图片描述
运行命令:npm start
(4)、在方法三中的 start方法是node自带的方法,如果把”start”换成其他的名称如“hid”,
则运行命令:npm run hid 即可。
四、webpack之loaders
(一)、Loaders是webpack最核心的功能。
通过使用不同的loader,webpack通过调用外部的脚本或者工具可以对各种各样的格式的文件进行处理,譬如:分析JSON文件并把它转换成JavaScript文件,或者说把下一代的JS文件(ES6,ES7)转换为现代浏览器可以识别的JS文件。或者说对React的开发而言,合适的Loaders可以把React的JSX文件转换为JS文件。
(二)、loader配置
loader需要单独安装并且需要在webpack.config.js下modules关键字下进行配置,Loaders的配置选项包括一下几个方面:
1. test:一个匹配loaders所处理的文件的拓展名的正则表达式(必须)
2. loader:loader的名称(必须)
3. include/exclude:手动添加必须处理的文件(文件夹)或屏蔽不需要处理的文件(文件夹)(可选)
4. query:为loaders提供额外的设置选项(可选)
(三)、webpack样式表的处理

  1. webpack提供两个工具处理样式表:css-loader和style-loader
  2. css-loader可以使用@import和url()的方法实现reuqire()的功能,style-loader将所有的计算后的样式加入页面中,二者结合在一起能够把样式表嵌入到webpack打包后的JS文件中
  3. 安装命令:npm install –save-dev style-loader css-loader json-loader
  4. 配置项写法:
    这里写图片描述

  1. CSS样式对浏览器兼容时,添加相应的插件:
    安装插件:npm install -save-dev postcss-loader autoprefixer

(四)、Babel的安装与配置
Babel是几个模块化的包,其核心功能位于称为babel-core的npm包中,不过webpack把他们整合在一起使用,但是对于每一个你需要的功能或者拓展,都需要安装单独的包(用得最多是解析ES6的babel-preset-es2015包和解析JSX的babel-preset-react包)
安装: npm install –save-dev babel-core babel-loader babel-preset-es2015 babel-preset-react
安装React:npm install –save react react-dom
配置项写法:

{
    test:/\.js$/,
    exclude:/node_modules/,
    loader:'babel',//在webpack的module部分的loaders里进行配置即可
    query:{
        preset:['es2015','react']
    }
}

五、插件(Plugins)
插件(Plugins)是用来拓展Webpack功能的,在整个构建过程中生效,执行相关任务。
Loaders和Plugins区别:
loaders是在打包构建过程中用来处理源文件的(JSX, Scss,Less,…),一次处理一个
Plugins并不直接操作单个文件,直接对整个构建过程起作用。
要使用某个插件,我们需要通过npm安装,然后需要在webpack配置中的plugins关键字部分添加该插件的是个实例(plugins是一个数组)。
例子:
需要在配置文件的最开始调用webpack插件
var webpack = require(‘webpack’);
然后再module.exports={}里添加一个plugins的关键字
pulgins:[ new webpack.BannerPlugins(“关键字”)];
六、Webpack自动刷新浏览器
webpack开发服务器,是webpack官方提供的一个辅助开发工具,自动监控项目下的文件,一旦有修改保持的操作,就会自动执行打包命令,将我们的diamante重新打包,并且需要的话还可以刷新浏览器。
安装:npm install –save-dev webpack-dev-server

基于ADRC算法的多旋翼飞行器抗扰动控制实践 本文详细介绍了基于ADRC算法的多旋翼飞行器抗扰动控制实践,通过线性扩张状态观测器(LESO)实时估算风力等扰动,实现提前补偿,显著提升飞行稳定性。文章结合具体案例和工程实现技巧,展示了ADRC在突风条件下的优异表现,为无人机控制提供了高效解决方案。 阅读详情

相关推荐

攻防世界 web高手进阶区 9分题 Web_python_flask_sql_injection

继续ctf的旅程,开始攻防世界web高手进阶区的9分题,本文是Web_python_flask_sql_injection的writeup

闵行小鱼塘 1439

webpack详细教程,学webpack看这一篇就够了!(上)

​本文将以基础到进阶的形式详细讲解webpack,包括【webpack基本概念和作用】【使用步骤】【打包、编译和压缩等相关配置】【使用webpack开发服务器】等等,由浅入深,通俗易懂,需要的小伙伴点个关注收藏一下吧!

共同学习,共同成长 1万+

自然二进制数与格雷码的相互转换

自然二进制数与格雷码两者优势: 自然二进制数的编码方式简单明了,容易理解,在加减运算中能够直接进行,同时十分方便进行一些位运算操作(如移位、取反等)。 格雷码计数时只有一位变化,可有效减少计数器状态的冗余转换,同时在传输数据时能够减小传输错误的概率,此外带权重编码处理更加方便。 在一定程度上自然二进制数与格雷码优缺点基本相反,综上所述,自然二进制数和格雷码各有优劣之处,需要根据具体应用场景选择合适的编码方式。简单来说,在计数器和编码器中,倾向于使用格雷码;而在进行加减运算时,则倾向于使用自然二进制数。

Loudrs的博客 7439

基于Python+Vue的高校实习平台开发实践

Web应用开发中,前后端分离架构已成为主流技术方案,通过RESTful API实现数据交互。Python技术栈中的Django和Flask框架以其高效开发特性,配合Vue.js的响应式前端,能够快速构建企业级应用。这种技术组合特别适合教育管理系统开发,可实现学生、企业、学校三方的信息高效匹配与流程管理。以高校实习平台为例,通过Django ORM处理数据密集型操作,结合PostgreSQL的JSON字段特性存储动态数据,Redis缓存提升系统响应速度。Vue 3的组合式API配合Element Plus组件

weixin_34268310的博客 486

webpack 学习心得(一)

核心概念 Webpack有以下几个核心概念 Entry:入口,webpack执行构建的第一步将从 Entry 开始,可抽象成输入 Module:模块,在webpack里一切皆模块,一个模块对应一个文件。webpack会从配置的 Entry 开始递归找出所有依赖的模块。 Chunk:代码块,一个 Chunk 由多个模块组合而成,用于代码合并与分割。 Loader:模块转换器,用于将模...

平平无奇的博客 417

webpack实习学习总结

代码分割 打包就是将各个模块(一个个import\require的js文件)引入并合并到一个单独的js文件的过程,最终形成一个“bundle”,接着在html页面上引入这个"bundle"。 打包带来的好处: 1:模块化开发: 提高开发效率,增加代码的维护性和可读性(因为复杂的应用都有比较复杂的资源关系网,模块化开发有助于我们清晰地各个资源之间的关系,从而组合式地引入各个模块) 2:优化: (1)可以进行模块复用(抽取公共代码,减少不必要的http请求;防止js文件过大阻塞关键dom的加载) (2

weixin_42197893的博客 390

webpack学习心得

webpack只理解js文件,所以需要loader处理那些非js文件。 》plugins 想要使用一个插件,你只需要require()它,然后把它添加到plugins数组中。 》path.resolve用于将相对路径转为绝对路径。说明:node中的全局对象__dirname,存储的是文件所在的文件目录 path.resolve([from...],to),接收参数,源路径from,将被解析

Gytha_1的博客 471

webpack 学习心得(小小webpack配置,大大方便)

没有全局导入文件前,需要在页面单独引入某个文件,或者在main.js 全局注册。后,直接在页面使用即可。

weixin_49511142的博客 261

学习心得webpack技术在爬虫逆向中的应用

webpack技术在爬虫逆向中的应用,Webpack 是一个前端资源模块化管理和打包工具,Webpack技术的出现主要是为了解决现代前端开发中JS代码的模块化组织问题

qq_39780701的博客 1581

webpack vuejs项目学习心得

最近在做移动端的项目,最近webpack和vuejs很火,就想到了用vuejs webpack来构建我的项目 先了解了一些webpack的入门基础 http://webpack.github.io/docs/  webpack官方文档 https://zhuanlan.zhihu.com/p/20367175webpack傻瓜式入门一 https://zhuanlan.zhihu.co...

weixin_30273763的博客 175

webpack调试error太多怎么办?--webpack学习心得

        一直想着写些什么好,bug调试?常用插件及命令?还是webpack从0配置?!但是我思来想去突然想写心得,从小就有写心得的习惯。         从初中到大学,从简单的日记记录到后来发展成的每周计划,再到现在的天天计划,其实...

weixin_43844975的博客 297

webpack+vue+mui学习心得

引入mui 1.不需要npm安装; 直接从官方下载丢进来 2.那就是全局引用了; 没错,就是index.html里直接引入,当然也可以main.js引入,随意啦! so easy 3.找到webpack.base.conf.js,在module与plugins之间插入以下代码: 4.这样就可以在项目里面直接用了.然就是mui与vue-router及点击事件会有一些冲突的问题; 在mounted里加入这行代码:路由就可以跳转了 eg:就直接代替a标签了; 可..

没做过产品的后端不是个好前端 247

Vue.js与Webpack学习心得

1.Vue.js介绍 1.Vue.js是什么 Vue 是一套用于构建用户界面的渐进式前端框架。和Angular.js、React.js 一起,并称为前端三大主流框架!Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合 2.Vue.js使用 在html页面使用script引入vue.js的库即可使用。 使用npm管理依赖,使用webpack打包工具对vue.js应用打包。...

LioSamson 352

前端模块化工具--webpack学习心得

话说前头 webpack前段时间有听说一下,现在已经到了3.x的版本,自己没去接触。因为之前使用gulp来作为自己的项目构建工具。现在感觉gulp使用的趋势在减少。现在这段时间去接触了webpack,感觉很不错,它的模块化打包机制,对前端开发和性能方面都带来好处。这里不是说gulp不好,两者不作比较 接下来会说说自己对webpack使用的感受,我不会一步步写出使用webpack的流程,

dotNET跨平台 447

webpack 在开发还是上线的时候都支持soucemap的功能 学习心得

最近项目中在使用react/redux/koa做一个IM,打包工具自然选择了webpack 我主要使用了webpack 的下列功能 webpack 打包编译js文件 编译js文件支持多入口,版本控制,懒加载 js和样式文件都支持热替换,不需要每个简单的修改都要刷新等待 复杂的css sprites功能,支持sass 语法 支持sourcemap,无论在开发还

chengnuo628的专栏 1万+

学习心得webpack技术在爬虫逆向中的应用_webpack加载器模块爬虫

IIFE 全称 Immediately-invoked Function Expressions,译为立即调用函数表达式,也称为自执行函数、立即执行函数、自执行匿名函数等,IIFE 是一种语法,这种模式本质上就是函数表达式(命名的或者匿名的)在创建后立即执行。上面的代码看起来很费劲,其中的一个重要原因就是函数的参数和函数名都是简单的字母没有含义,都不知道这是干什么。比如下面代码中有三个模块,他们其实就是三个函数,假设这三个模块都有着不同的功能,这里演示代码中显示的是打印不同字符。

2401_84140707的博客 539
上一篇: vue结合elementUI,MinUi
下一篇: Jvascript正则表达式 学习
Jacksoncz
博客等级 码龄9年 8粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值