webpack (1)】的更多相关文章

深入学习webpack(一) 模块化的相关库和工具已经很多了,包括require.js.sea.js和一些工程化工具webpack.gulp.grant.那么我们该如何选择呢? 其实,我们只需要掌握了其中一种模块化的方案即可,因为这里最重要的是思想,而不是工具.在这些工具之中,webpack无疑是非常火的,并且在现在和未来也将大有可为,所以,这篇文章就好好的说说webpack! 参考文章: webpack官方文档 什么是webpack? webpack是一款打包工具,其中的modules包括cs…
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者介绍:陈柏信,腾讯前端开发,目前主要负责手Q游戏中心业务开发,以及项目相关的技术升级.架构优化等工作. 前言 webpack 是一个强大的模块打包工具,之所以强大的一个原因在于它拥有灵活.丰富的插件机制.但是 webpack 的文档不太友好,就我自己的学习经历来说,官方的文档并不详细,网上的学习资料又少有完整的概述和例子.所以,在研究了一段时间的 webpack 源码之后,自己希望写个系列文章,结合自己的实践一起来谈谈 webpack…
前面两个终于把webpack相关配置解析完了.现在终于进入vue的开发了 vue组件化开发预热 前期准备 创建如下项目: app.js: footer.js: main.js: webpack.config.js: 同样的生成两个webpack配置文件,webpack.dev.config.js,webpack.prod.config.js,配置跟webpack.config.js一模一样 package.json: 组件化开发终于到了重头戏了 webpack引入vue 有几种方法导入 1.第一…
webpack的常用loder和插件 loder和插件是什么,现在暂且不表,看到后面你就懂了 引入css问题 直接用link标签导入css 在前面的 vue(7)—— 组件化开发 — webpack(1)  讲解中,相信已经对webpack有一定了解了,想必很多朋友已经跃跃欲试了,准备要搞一个自己的小网站出来了,写上css,调整好代码,准备说干就干: 同样的,因为以后的开发中,肯定会有很多个css文件,可能一个vue组件就需要一个css文件,然后你又跟前面的js文件引入一样,在html文件里用l…
深入学习webpack(二) 在深入学习webpack(一)中,我通过一个例子介绍了webpack的基本使用方法,下面将更为系统的学习webpack的基本概念,对于一门技术的掌握我认为系统化还是很重要的,如果仅仅是一知半解,更为深入的地方了解不够,那么你就泯然众人矣. webpack的核心概念主要有四个: entry(入口).output(出口).loaders(加载器).plugins(插件). 下面我将逐一介绍. Entry webpack会创建应用里所有依赖的图表,而最开始的图表就是所谓的…
这一章咱们来说一下如何使用babel以及如何用webpack调试代码.这是基础篇的最后一章,这些文章只是罗列的给大家讲解了在一些场景中webpack怎样使用,这章结束后会给大家讲解一下如何在我们实际的开发及上线的工作环境中自如的使用webpack. 既然我们要使用babel,那babel是什么呢?一句话,babel能让你使用当前浏览器还暂时或者无法支持的"js",比如es6,es7,JSX等. 那么来安装一下吧: npm install --save-dev babel-core ba…
在前端工作的过程中,只要你接触过vue,angular,react,gulp就一定知道webpack或者听说过或者使用过webpack,但是或许你对webpack的使用方法并不是十分了解,只是会用写好的构建项目如:vue-cli,angular-cli等,那么这一系列的文章就是带你一点点走近webpack,真正弄懂webpack到底可以做什么,怎么做. 在真正的正文开始之前,我们先做一个小demo,就像所有的故事背景那样,这篇文章也作为该系列的故事背景.废话不多说,咱们开始吧. 一.安装(环境)…
初级的文章和demo已经基本完成了,代码也已经上传到了我的github上,如果你对webpack的使用并不是十分了解,那么建议你回头看下走近系列,里面包括了当前项目中使用频繁的插件,loader的讲解.以及基本的webpack配置,相关依赖等.如果你已经有了一定的webpack使用经验.那么你直接看这篇文章也是完全没问题的. 这一系列会着重讲解webpack的进阶使用方法,前面文章讲解过的一些部分,就不会再去重复的解释. 那么,还是先交代一下环境以及目录结构,这些你可以直接从github上获取到…
在当代的前端开发中,很少会用原生JS来开发页面,最基本的都会使用jQuery来节省我们开发的时间和效率,而angular,vue,react的出现更是为前端开发者带来了福音.那么这篇文章就说说如何用webpack来打包引入第三方框架(类库).如果单纯的引入jQuery或者其他第三方类库,在打包的时候webpack会把它一起打包进我们的main.js,也就说,如果我们引入两三个框架,两三个UI库,那么我们的集成包会很大,页面的加载时间也会很长,这是我们不愿见到的结果.所以在学会引入的同时,还要知道…
引子 在研究完前面的vue开发后,其实已经可以自己开发点东西了,靠前面的指令集,组件,还有vue-router,还有异步请求这些知识点,是完全可以开发出来的,完全可以达到时下前后端分离的效果. 但是,你在开发的过程当中,可能会遇到很多问题,而你只能用很低端的手段来解决问题,也可能在开发中,会遇到大量重复代码,而且还没有个很好的解决办法,并且在以后实际开发中,并不会像前面那样,一个html页面就搞定所有了,绝对不会的,肯定会有很多个文件,各种库,各种包之类的,这里倒过来,那里倒过去,哪个放前面,哪…
目的:  模块化开发,组件化开发,让代码符合开发规范,更高效 webpack作用:从pack,就知道这是包的意思,比较专业点叫做前端自动化打包构建工具,代码错误检查,预处理,文件合并(打包),代码压缩, 将各种文件包括es6de 文件转化成es5的可以被浏览器识别的文件. webpack安装: 1.node下载安装,最好有git,可以利用git的命令行窗口. node和webpack啥关系呢?为什么要求要有node环境???? webpack官网安装说明:在开始之前,请确保安装了 Node.js…
一.前言 ECMAScript 6(ES6)的发展速度非常之快,但现代浏览器对ES6新特性支持度不高,所以要想在浏览器中直接使用ES6的新特性就得借助别的工具来实现.Babel是一个广泛使用的转码器,babel可以将ES6代码完美地转换为ES5代码,所以我们不用等到浏览器的支持就可以在项目中使用ES6的特性. 二.安装 1.创建个文件夹,目录如下: 2.安装webpack 额外说明一下:node.js 的包安装的时候都加上 --save-dev 参数,那么这个参数是干什么的呢? 当你为你的模块安…
在网页中会引用哪些常见的静态资源? JS .js .jsx .coffee .ts(TypeScript 类 C# 语言) CSS .css .less .sass .scss Images .jpg .png .gif .bmp .svg 字体文件(Fonts) .svg .ttf .eot .woff .woff2 模板文件 .ejs .jade .vue[这是在webpack中定义组件的方式,推荐这么用] 网页中引入的静态资源多了以后有什么问题??? 网页加载速度慢, 因为 我们要发起很多…
一:理解 babel之配置文件.babelrc 基本配置项 1. 什么是babel? 它是干什么用的? ES6是2015年发布的下一代javascript语言标准,它引入了新的语法和API,使我们编写js代码更加得心应手,比如class,let,for...of promise等等这样的,但是可惜的是这些js新特性只被最新版本的浏览器支持,但是低版本浏览器并不支持,那么低版本浏览器下就需要一个转换工具,把es6代码转换成浏览器能识别的代码,babel就是这样的一个工具.可以理解为 babel是j…
前言   本质上,webpack 是一个用于现代 JavaScript 应用程序的 静态模块打包工具.当 webpack 处理应用程序时,它会在内部构建一个 依赖图(dependency graph),此依赖图对应映射到项目所需的每个模块,并生成一个或多个 bundle.接下来我们就会使用webpack来进行打包 webpack的概念 在开始前我们需要先理解一些核心概念: 入口(entry) 输出(output) loader 插件(plugin) 模式(mode) 浏览器兼容性(browser…
最近在学习webpack,正好拿了之前做的一个小组件,图片轮播来做了下练手,让我们一起来初步感受下webpack的神奇魅力.     webpack是一个前端的打包管理工具,大家可以前往:http://webpack.github.io/ 作详细了解.相对于之前的前端模块打包工具, 个人认为webpack至少拥有以下值得我们拿来一用的优点: js/css/img/html等等都是静态资源,都可以通过webpack进行打包处理 所有资源都可以按需加载,避免了之前的加载器把所有资源打包在一个文件,导…
webpack 的基本用法   1.app.js 引入模块 import moduleLog from './module.js' //引入moduleLog从./module.js 2.module.js导出模块 export default function(){}; //导出 function(){} 3.打包 $ webpack app.js dist/bundle.js //打包 入口文件app.js 出口文件 ./dist/bundle.js 这里要使用 webpack 这个命令要…
前面的文章介绍了webpack的devServer以及多入口多出口文件的配置,咱们继续往下学. 在开始学习接下来的知识之前,我们先回顾一下,前文提到了webpack的简单配置方法,但是只详细说了下入口和出口文件的配置,并没有更多的去解释其他选项的配置,比如loader,plugin等.那么咱们现在就来学一下module的配置.前面说过,module的主要作用就是通过loaders来配置,解析,转换不同类型的模块.比如说,可以把less,sass转换成css,可以把es6甚至es7语法转换成大部分…
上一章,咱们学了如何用webpack来打包css,压缩js等.这一篇文章咱们来学习一下如何用webpack来处理图片.废话不多说,咱们开始吧. 首先,咱们随便找一张你喜欢的图片放到src/images目录下,然后把图片设置为背景图片,代码是这个样子. src/index.html: <div id="title"></div> <div id="name"></div> <div id="img&quo…
上一篇文章留下了一些问题,如果你没看过上一篇文章,可以在我的博客里查找,或者直接从这篇文章开始也是没问题的. const path = require('path'); module.exports={ entry:{ entry:'./src/entry.js' }, output:{ path:path.resolve(__dirname,'dist'), /*上面的代码中还有path以及__dirname的意思就是指获取到当前项目的绝对路径,涉及到了node.js的相关知识,这里不做过多的…
1.  webpack只识别js文件,其他文件都需要转换成js文件.所有文件都是模块; 2. css解析      css需要css-loader  --->style-loader ----->less-loader less文件还需要less-loader (注意书写顺序) 3. plugins:他是一个数组,四个属性中唯一一个数组,它的子元素需要提前require进来. 我不明白loader们不需要require而插件需要require?????????? 这是官方文档,loader相当…
在前面两篇博客中,主要讲了webpack的使用和webpack的核心概念,他们都是非常重要的,在这篇博客中,讲主要讨论webpack配置相关问题. 参考文章:https://webpack.js.org/configuration/ 对于配置文件中不懂的地方都可以在上面的文章中找到最精确的文档来查看学习. 第一部分 可能你已经注意到了几乎没有两个configuration是相同的,这是因为webpack的配置文件就是一个导出一个对象的js文件.这个对象将会基于自身的属性被处理. 因为这是node…
css文件处理-准备工作 (以下项目配置都是基于上一篇webpack(4)的基础上) 在项目开发中,我们必然需要添加很多的样式,而样式我们往往写到一个单独的文件中. 这里我们就在src目录中创建一个normal.css文件,代码如下: body{ background-color: aqua; } 代码很简单,就是将body设置一个背景颜色,但是此时样式是不会生效的,因为我们根本没有引用它,所以我们需要在入口main.js中引入css // 引用css文件 require('./css/norm…
图片处理url-loader(webpack5之前的处理方式) 在项目开发中,我们时长会需要使用到图片,比如在img文件夹中有图片test1.png,然后在normal.css中会引用到图片 body{ background: url("../img/test1.png"); } 但是此时,我们直接使用webpack打包是会报错的,我们需要安装url-loader,它是用于将文件转换为 base64 URI 的 loader. 安装命令如下: npm install url-loade…
我们前面已经学了很多webpack基本的处理情况,一句话总结就是,一个优秀的webpack项目,主要的核心用法就是整合loader和plugin去处理你想要的任何需求. 下面,咱们一起来学学如何用webpack来处理less,sass等预编译器.先看看如何用webpack处理less. 国际惯例,第一步是安装: npm install less less-loader --save-dev 第二步,配置loader项: { test: /\.less$/, use: [{ loader: "st…
写这一系列的文章,本意是想要梳理一下自己凌乱的webpack知识,只是使用过vue-cli,修改过其中的一部分代码,但是对于一个简单项目从0开始搭建webpack的流程和其中的依赖并不是十分清楚.所以写了这样的一系列文章,一方面巩固自己的知识,一方面也可以给小伙伴们一点点入口.但是无奈运气不好,偏偏恰逢webpack4热火朝天的上线了,在webpack3时代的一部分使用方法已经没办法照葫芦画瓢了.所以一边查看文档和github,给大家找到了一些并不是很完美的解决方案.这是这个系列的最后一篇,说一…
设置 HtmlWebpackPlugin html-webpack-plugin:它会用新生成的 index.html文件,替换我们的原有文件 plugins: [ new HtmlWebpackPlugin({ title: 'haha' }) ] 清理 /dist 文件夹 clean-webpack-plugin plugins: [ new CleanWebpackPlugin(), new HtmlWebpackPlugin({ title: 'haha' }) ] manifest w…
上篇文章Angular2开发基础之TSC编译 解决如何使用TSC来编译ng2项目,以及如何解决出现的error.这些点是新手容易忽视的内容, 要熟悉ng开发的工具链,还是需要掌握其中的重点.本篇文章是它的姊妹篇,小目标是: package.json加入script webpack.config.js webpack配置完成 app.bundle.js webpack-dev-server完整代码 -> 传送门 环境 需要说明,本教程仅是Windows的实操,Linux,Mac环境,会有不同. W…
在普通页面中使用render函数渲染组件 render:function(createElements){//createElements是一个方法,调用它,能够把指定的组件模板,渲染成为HTML结构,这里面return的结果,会替换页面中el指定的那个容器 return createElements(login) } 在webpack中配置.vue组件页面的解析 运行cnpm i vue -S将vue安装为运行依赖: 运行cnpm i vue-loader vue-template-compi…
 摘要:webpack-dev-server是一个使用了express的Http服务器,它的作用主要是为了监听资源文件的改变,该http服务器和client使用了websocket通信协议,只要资源文件发生改变,webpack-dev-server就会实时的进行编译. 1. contentBase 该配置项指定了服务器资源的根目录,如果不配置contentBase的话,那么contentBase默认是当前执行的目录,一般是项目的根目录.可能如上解析还不够清晰,没有关系,我们下面还是先看下我整个项…