一、初始webpack

webpack支持的三种模块化方式: AMD,COMMON,ES6

webpack官网很多文档都在

在webpack中,任何资源都视为一个模块

loader的处理方式是从右到左

 

webpack-2

https://qiutc.me/post/webpack-2-%E7%9A%84%E6%96%B0%E7%89%B9%E6%80%A7-What-s-new-in-webpack-2.html

        

一、初始webpack

webpack官网地址:http://webpack.github.io/docs/what-is-webpack.htm

  1.       安装全局 => npm install webpack –g;

  2.       进入文件根目录,例如test;

  3.       初始化npm  => npm init  (回车创建package.json);

       

  4.       在文件夹安装webpack => npm install webpack - -save-dev;安装完之后有文件夹node_modules;

  5.       在根目录test下新建hello.js,

      

      -- 使用webpack打包文件hello.js; 命令行 => webpack hello.js hello.bundle.js(打包以后文件的名称);

      -- 打包完成会给一些信息:哈希;版本;时间;Asset(打包生成的文件);size(文件大小);chunks(这次打包的分块);chunk Names (这次打包的块名称)

      -- 打包完以后的文件hello.bundle.js,上面有一大段代码是在打包的过程中,生成的它自己所需要的一些内置函数;比如webpack_require; 在后面能看见我们的代码,以及给这个代码块的编号;

  6.       新建一个文件,熟悉下webpack的工作原理;

      

      -- 新建一个world.js,在hello.js文件中 rquire () 引用进来;

      

      -- 再运行一下 webpack hello.js hello.bundle.js

      -- 打包完成,会有两个模块(0,1);再看一下文件名内容,world已经被打包进来,hello.js里面的require() 已经变成了webpack 内置的 webpack_require;这是webpack的一种工作方式;寻找它的依赖然后把它们打包在一起;

  7.       试一下打包css文件

      -- 新建一个style.css

      

      -- 在hello.js文件中 rquire 进来;

      

      打包;会报错 You may need an appropriate loader to handle this file type.(你需要一个适当的loader来处理这种文件!)

      -- 这说明webpack 天生是不支持这种类型.css的,要处理这种类型需要依赖loader;

      -- 在项目目录下安装这个css-loader;配合css-loaer 还需要 style-loader;

      npm install css-loader style-loader –-save-dev;

      再运行一下webpack hello.js hello.bundle.js 还是报错;文件中require()的css并没有指定相应的loder;

      -- require(‘css-loader!./style.css‘);这种语法,在引用这个文件之前,必须先经过css-loader的处理;

      

      在运行一下命令;css文件已被打包进来;也多了一些其他的自定义的内置函数;

  8.       为了更清晰的展示效果,在建一个html文件;引入打包后的文件;

      ——在hello中,添加执行函数代码 hello(‘hello world‘);

       

      打包;然后在浏览器打开html文件,hello函数已经执行;

      ——再修改一下css 比如给body加背景颜色;

      

      打包;刷新页面;并没有效果;因为我们要是css生效,还需要借助一个loader:style-loader; require(‘style-loader!css-loader!./style.css‘);

      

      打包;刷新页面;发现css生效;

      F12看下代码,会发现我们写的css,被新建了一个style标签插在了head里面;这是通过style-loader做到的;

      style-loader:把css-loader处理完的文件,新建一个style标签放在head里面;

      css-loader是的webpack可以处理.css文件;

  9.       如果不把loader放在require里,可以通过命令行工具;

      

      Webpack hello.js hello.bundle.js –module-bind ‘css=style-loader!css-loader’;

      模块绑定,如果是css, 用style-loader,style-loader之前用css-loader处理;

  10.   –watch监听;文件改变就会打包;

      Webpack hello.js hello.bundle.js –module-bind ‘css=style-loader!css-loader’ --watch

  11.   --progress 可以看到打包过程;有个百分比读条

  12.   –display-modules 可以看到打包的模块 会把引用的所有的模块会列出来

  13.   –display-reasons 会有打包模块的原因

时间: 2024-11-04 17:39:04

一、初始webpack的相关文章

vue-cli安装webpack项目及初始配置

这个下载包是自己基于 webpack 搞的,可以看看https://github.com/chichengyu/webpack vue-cli安装 输入 npm install vue-cli -g # 如果速度慢,可以先安装 cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org # 然后再安装 vue-cli cnpm install vue-cli -g # 或者使用这节说到的 nrm 进行切换镜像源 http

Vue.js系列之项目搭建(vue2.0 + vue-cli + webpack )

1.安装node node.js环境(npm包管理器) cnpm npm的淘宝镜像 从node.js官网下载并安装node,安装过程很简单,一路"下一步"就可以了(傻瓜式安装).安装完成之后,打开命令行工具,输入 node -v,如果出现相应的版本号,则说明安装成功. npm包管理器,是集成在node中的,所以,直接输入 npm -v就会显示出npm的版本信息. 2.安装cnpm 在命令行中输入 npm install -g cnpm --registry=http://registr

Vue2+VueRouter2+webpack 构建项目实战(二):目录以及文件结构

通过上一篇博文<Vue2+VueRouter2+webpack 构建项目实战(一):准备工作>,我们已经新建好了一个基于vue+webpack的项目.本篇文章详细介绍下项目的结构. 项目目录以及文件结构 如图所示: 如上图所示,自动构建的vue项目的结构就是这样. 目录/文件 说明 build 这个是我们最终发布的时候会把代码发布在这里,在开发阶段,我们基本不用管. config 配置目录,默认配置没有问题,所以我们也不用管 node_modules 项目开发依赖的一些模块 src 开发目录(

webpack模块机制浅析【一】

webpack模块机制浅析[一] 今天看了看webpack打包后的代码,所以就去分析了下代码的运行机制. 下面这段代码是webpack打包后的最基本的形式,可以说是[骨架] (function(root,fn){ if(typeof exports ==='object'&&typeof module === 'object'){ module.exports = fn();//exports和module同时存在,说明时在node的CommonJs规范下,这个时候使用module.exp

webpack+react开发环境搭建

一.安装Node.js Node.js可以直接从官网下载,按照默认的安装方式安装即可. 二.安装webpack Webpack可以使用npm安装,新建一个空的练习文件夹,在终端中转到该文件夹后执行下述指令就可以完成安装. //全局安装 npm install -g webpack //安装到你的项目目录 npm install --save-dev webpack 三.安装webpack-dev-server //全局安装 npm install -g webpack-dev-server //

移动端拖拽(模块化开发,触摸事件,webpack)

通过jquery可以很容易实现CP端的拖拽.但是在移动端却不好用了.于是我自己写了一个在移动端的拖拽demo,主要用到的事件是触摸事件(touchstart,touchmove和touchend). 这个demo实现的功能是:可以拖拽的元素(在这里是图片)位于列表中,这些元素可以被拖到指定区域,到达指定区域(控制台)后,元素被插入控制台后,原来的拖动元素返回原位置,新的元素依然可以在控制台中拖动,也能拖出控制台. 在这个demo中一个用三个模块,分别为ajax模块,drag模块,position

58到家周俊鹏:webpack PK fis,实现前端工程化我更喜欢前者

责编:陈秋歌,关注前端开发领域,寻求报道或者投稿请发邮件chenqg#csdn.net. 欢迎加入"CSDN前端开发者"微信群,参与热点.难点技术交流.请加群主微信「Rachel_qg」,申请入群,务必注明「公司+职位」.另可申请加入CSDN前端开发QQ群:465281214. 2016年,SDCC(中国软件开发者大会)相继走进了上海.深圳.成都.杭州各地.11月18日-20日将在北京完美收官.作为大会的重要分专题,前端开发专题已邀请到58到家高级前端工程师周俊鹏担任大会讲师,现场将分

二:搭建一个webpack3.5.5项目:建立项目的webpack配置文件

第一步: npm init -y [初始文件] npm info webpack / bower info webpack[查看版本,用bower的时候要先 npm install bower] npm install webpack –save-dev [下载webpack] 第二步: mkdir src [创建源文件] mkdir dist [创建打包后的文件] 第三步: 手动创建index.html文件 在index.html中引入打包后的json文件 我们设置为 bundle.js文件 

node+webpack环境搭建 vue.js 2.0 基础学习笔记

npm install -g vue //全局安装vue npm install -g webpack //全局安装webpack npm install -g vue-cli //全局安装vue-cli //可用淘宝镜像 npm=>cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org生成项目 vue init webpack my-first-vue-project //生成项目名为my-first-vue-pr