webpack笔记

webpack

* 模块打包器

* 分析项目结构找到javascript模块或其他浏览器不能直接运行的扩展语言(scss,typescripts等),打包为合适的格式以供浏览器使用

* webpack和grunt、gulp相比有什么特性?!

* grunt、gulp:前端流程化工具

* webpack:一种模式化的解决工具

* grunt、gulp:在一个配置文件中,指明对某种类型的文件进行编译、组合、压缩等处理,这个工具可以自动为你完成这些任务

* webpack:把项目当初一个整体,通过给定的入口文件(如index.js),webpack会从这个文件开始找到项目里的所有依赖文件,使用loaders处理它们,最终打包成浏览器可以处理的js文件



* 一个实例:(做same防站的时候配置的webpack.config.js)

var path = require("path");

var webpack = require("webpack");

var HtmlwebpackPlugin = require("html-webpack-plugin");

// 一些常用路由

/***

* path.resolve([from...], to)

* form: 原路径,

* to:   将被解析到绝对路径的字符串

*/

const ROOT_PATH = path.resolve(__dirname);

const APP_PATH = path.resolve(ROOT_PATH, "app");

const BUILD_PATH = path.resolve(ROOT_PATH, "build");

module.exports = {

entry: path.resolve(APP_PATH, "index.jsx"),

output: {

path: BUILD_PATH,

filename: "bundle.js",

},

// 开启webpack source map

devtool: "eval-source-map",

// 开启webpack dev server

devServer: {

contentBase: "./build",

historyApiFallback: true,

hot: true,//热模块替换

inline: true,// 源文件改变时自动刷新页面

port: 8080,

// progress: true

},

// 配置plugin

plugins: [

// 热加载: 修改代码自动刷新浏览器

new webpack.HotModuleReplacementPlugin(),

// 生成h5文件

// new HtmlwebpackPlugin({

//  title: "SAME"

// })

],

module: {

// 配置 preLoaders, 将eslint 添加进入

// preloaders: [],

// 配置loader, 将Babel 添加进去

// loaders: [{

//     test: /\.jsx?$/,

//     loader: "babel-loader",

//     exclude: "node_modules",

//     include: APP_PATH

// }, {

//     test: /\.less/,

//     exclude: "node_modules",

//     include: APP_PATH,

//     loader: "style!css!autoprefixer!less",

//     // loaders: ["style", "css", "autoprefixer", "less"]

// }, ]

rules: [{

test: /\.less$/,

use: [

"style-loader",

"css-loader",

"autoprefixer-loader",

"less-loader"

]

}, {

test: /\.css$/,

use: [

"style-loader",

"css-loader",

"autoprefixer-loader"

]

}, {

test: /\.jsx$/,

loader: "babel-loader"

}]

}

}

* css-loader:使你能够使用@import,url(...)的方式引入css文件,style-loaders:使用将所有计算的样式加入页面

* 感叹号的作用: 同一个文件能够使用不同类型的loader

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 8,226评论 7 35
  • webpack配置DEMO webpack.config.js文件官方标配示例如下: 参考各路大神的流程写下来.....
    章鱼不丸子阅读 561评论 0 3
  • webpack配置DEMO webpack.config.js文件官方标配示例如下: 参考各路大神的流程写下来.....
    章鱼不丸子阅读 759评论 0 3
  • 使用Table进行布局  table标签一开始是作为存储数据而存在的,而使用table进行的布局的网页具有一定的兼...
    heheheyuanqing阅读 239评论 0 0
  • 2017年7月28日星期五 晴 今天有事情要出去,我告诉女儿作业写完了可以读一下弟子规。晚上回来,我问女儿...
    厦小薛智一爸爸阅读 156评论 0 5