深入前端模块自动化打包工具课件2 webpack2_第1页
深入前端模块自动化打包工具课件2 webpack2_第2页
深入前端模块自动化打包工具课件2 webpack2_第3页
深入前端模块自动化打包工具课件2 webpack2_第4页
深入前端模块自动化打包工具课件2 webpack2_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

WebPack2妙味课堂-zMouseWebPack2JavaScript应用程序的模块打包器(modulebundler)WebPack2WebPack2模块化ES5模块化require.jssea.jsWebPack2import导入一个模块语法:WebPack2export导出一个模块语法:WebPack2第一个ES6模块化创建html文件加载入口文件<scriptsrc=“main.js”></script>引入第一个模块importvfrom“./m1”导出第一个模块接口exportvarv=100;WebPack2安装全局安装webpacknpminstall-Swebpacknpminstall-gwebpackWebPack2配置文件webpack.config.js运行webpack命令的时候加载的配置文件,当webpack命令运行的时候,会加载该文件,根据该文件的配置内容进行执行。module.exports={}WebPack2核心概念入口(Entry)出口(Output)加载器(Loader)插件(Plugins)WebPack2入口(Entry)入口文件是整个应用程序的执行起点,webpack会从入口文件开始分析文件模块之间的依赖,并加载,然后打包成一个文件。一、单个入口二、多入口WebPack2输出(Output)配置webpack如何向硬盘中写入文件,注意:入口可以多个,但是输出配置只能有一个,配置值为一个对象格式:必要的两个output配置pathfilename单入口文件多入口文件[name]WebPack2加载器(Loader)Loader是webpack中用于处理任务的核心内容,他是一个文件内容预处理器,我们可以通过Loader来处理和转换指定的文件,比如把TypeScript转成JavaScript,图片转成DataURL等。在webpack对文件进行打包之前执行。

Loaders-文件raw-loader-加载文件原始内容-加载指定文件,并以字符串的形式返回内容Loaders-文件json-loader-加载JSON文件-加载指定JSON数据文件,并以对象(解析后的JSON数据)的形式返回-webpack2.0以后已经内置了json-loader,和对.json后缀的文件的处理,所以可以不需要下载json-loader与配置-针对非.json后缀的,还是需要单独在rules中配置,但是不需要下载json-loader了Loaders-文件file-loader-生成文件到指定目录,并根据配置返回访问路径-默认生成的新文件的名称为原文件的MD5值Loaders-转换编译babel-loader-加载ES2015+代码,然后使用Babel转译为ES5npmi-Dbabel-loaderbabel-corebabel-preset-envwebpack{test:/\.js$/,use:{loader:'babel-loader',options:{

presets:['env']}}}Loaders-样式css-loader-解析CSS文件后,使用import加载,并且返回CSS代码style-loader-将模块的导出作为样式添加到DOM中Loaders-框架vue-loader-加载和转译Vue组件Plugins插件-在webpack预处理、打包完成后执行

PluginsUglifyjsWebpackPlugin-压缩文件npmi-Duglifyjs-webpack-pluginconstUglifyJSPlugin=require(‘uglifyjs-webpack-plugin’)module.exports={plugins:[newUglifyJSPlugin()]}PluginsExtractTextPlugin-提取分离成独立的css文件npmi-Dextract-text-webpack-pluginconstExtractTextPlugin=require(“extract-text-webpack-plugin");module.exports={module:{rules:[{test:/\.css$/,use:ExtractTextPlugin.extract({fallback:"style-loader",use:"css-loader"})}]},plugins:[newExtractTextPlugin("styles.css"),]}PluginsProvidePlugin-自动加载模块,而不必到处import或requiremodule.exports={plugins:[newwebpack.ProvidePlugin({$:‘jquery',jQuery:‘jquery'})]}PluginsCommonsChunkPlugin-提取chunks之间共享的通用模块module.exports={plugins:[newwebpack.optimize.CommonsChunkPlugin({name:‘verdor’})]}模块热替换webpack-dev-server-npmi-Dwebpack-dev-servercontext:__dirname,entry:[ './src/app.js', './node_modules/webpack-dev-server/client/index.js?']constWebpack=require("webpack");constWebpackDevServer=require("webpack-dev-server/lib/Server");constwebpackConfig=require("./webpack.config");constcompiler

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论