webpack.config.js文件中,主要包括

entry:入口文件

output:出口文件

module:模块

plugins:插件

这几部分

1.基本配置

运行 webpack 这一命令可以将以app.js及其依赖的js文件打包到dist文件夹下的main.js文件下

 var path = require('path')

 module.exports = {
// 入口文件配置
entry: "./src/app.js", // 出口文件配置项
output: {
// 输出的路径,webpack2起就规定必须是绝对路径
path: path.join(__dirname, 'dist'),
// 输出文件名字
filename: "main.js"
}
}

2.引入webpack-dev-server将文件打包到内存中,使得文件保存后刷新页面即可得到新的结果

需要先进行运行:

1.npm init -y

2.npm i webpack-dev-server -g(全局安装,否则报错)

2.npm i webpack-dev-server@2.9.7 webpack@3.11.0 -D

   var path = require('path')

   module.exports = {
// 入口文件配置
entry: "./src/app.js", // 输出配置
output: {
// 输出的路径
path: path.join(__dirname, 'dist'),
// 静态资源在服务器上运行时的访问路径,可以直接http://localhost:8080/dist/bundle.js访问到服务器中的bundle.js文件
publicPath: '/dist',
// 输出文件名字
filename: "main.js"
}
} 更改完成后运行:webpack-dev-server
下面是配置热启动,免刷新
配置script:"dev": "webpack-dev-server --inline --hot --open --port 80
运行:npm run dev 可以直接打开页面,不用复制地址打开

3.安装npm install css-loader style-loader --save-dev

这个可以用来配置module文件,配置依赖的loader文件

   module: {
rules: [
// 配置的是用来解析.css文件的loader(style-loader和css-loader)
{
// 1.0 用正则匹配当前访问的文件的后缀名是 .css
test: /\.css$/,
use: ['style-loader', 'css-loader'] //webpack底层调用这些包的顺序是从右到左
}
]
}

3.1webpack-less&webpack-sass

配置less和sass文件

npm install less less-loader sass-loader node-sass --save-dev

 {
test: /\.less$/,
use: [{
loader: 'style-loader'
}, {
loader: 'css-loader'
}, {
loader: 'less-loader'
}]
},
 {
test: /\.scss$/,
use: [{
loader: 'style-loader'
}, {
loader: 'css-loader'
}, {
loader: 'sass-loader'
}]
}

3.2webpack-图片&字体

npm install file-loader url-loader --save-dev

 {
test: /\.(png|jpg|gif)/,
use: [{
loader: 'url-loader',
options: {
// limit表示如果图片大于50000byte,就以路径形式展示,小于的话就用base64格式展示
limit: 50000
}
}]
}

4.webpack-html

npm install html-webpack-plugin --save-dev

 // 注意需要注释掉publicPath,不然会冲突

 var HtmlWebpackPlugin = require('html-webpack-plugin')

 plugins: [
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'template.html'
})
]

5.npm install babel-core babel-loader babel-preset-env --save-dev

     {
test: /\.js$/,
// Webpack2建议尽量避免exclude,更倾向于使用include
// exclude: /(node_modules)/, // node_modules下面的.js文件会被排除
include: [path.resolve(__dirname, 'src')]
use: {
loader: 'babel-loader',
// options里面的东西可以放到.babelrc文件中去
options: {
presets: ['env']
}
}
}

同时要新建一个.babelrc文件

 配置如下:
{
"presets":["env"]
}

配置webpack.config.js中的文件的更多相关文章

  1. webpack安装大于4.x版本(没有配置webpack.config.js)

    webpack安装大于4.x版本(没有配置webpack.config.js) webpack 输出参数-o 高版本  如果安装的webpack版本大于4+,还需要安装webpack-cli.在没有配 ...

  2. webpack安装低于4版本(没有配置webpack.config.js)

    webpack安装低于4版本(没有配置webpack.config.js) webpack 无需配置输出参数-o 低版本  1.初始化项目 npm init -y 初始化项目 2.安装webpack@ ...

  3. webpack.config.js====output出口文件的配置

    output: { filename: './js/[name].[hash:8].js', /* * filename:在使用webpack-dev-server模式时,如果要使用hash,是不可以 ...

  4. webpack.config.js====entry入口文件的配置

    1.  一般是采用对象语法: entry: { index: './src/default/js/index.js' }, https://webpack.css88.com/concepts/ent ...

  5. webpack配置之webpack.config.js文件配置

    webpack配置之webpack.config.js文件配置 webpack.config.js webpack resolve  1.总是手动的输入webpack的输入输出文件路径,是一件非常繁琐 ...

  6. webpack.config.js====配置babel

    参考:https://www.jianshu.com/p/9808f550c6a91. 安装依赖babel-loader: 负责 es6 语法转化babel-preset-env: 包含 es6.7 ...

  7. webpack.config.js====引入Jquery库文件

    1. 安装 cnpm install --save jquery expose-loader 2. 在webpack.config.js中配置 Jquery库是使用的webpack的一个插件Provi ...

  8. webpack.config.js====CSS相关:css和scss配置loader

    1. 安装: //loader加载器加载css和sass模块 cnpm install style-loader css-loader node-sass sass-loader --save-dev ...

  9. webpack webpack.config.js配置

    安装指定版本的webpack npm install webpack@3.6 -g 安装live-server    运行项目插件   输入live-server  运行后自动打开网页 npm ins ...

随机推荐

  1. css3自适应布局单位vw,vh你知道多少?

    视口单位(Viewport units) 什么是视口? 在桌面端,视口指的是在桌面端,指的是浏览器的可视区域:而在移动端,它涉及3个视口:Layout Viewport(布局视口),Visual Vi ...

  2. dbutils工具类使用

    1DBUtils工具类 1.1概述 DBUtils是java编程中的数据库操作实用工具,小巧简单实用. DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码 DBUtils三个核心功 ...

  3. ArcPy 拷贝数据库

    使用Python脚本进行图形数据库的拷贝. 原始帖子地址:https://www.2cto.com/database/201302/187391.html 整理Python代码: # -*- codi ...

  4. SpringBoot+MyBatis配置多数据源

    SpringBoot 可以支持多数据源,这是一个非常值得学习的功能,但是从现在主流的微服务的架构模式中,每个应用都具有唯一且准确的功能,多数据源的需求很难用到,考虑到实际情况远远比理论复杂的多,这里还 ...

  5. C#图片添加文字水印

    /// <summary> /// 给图片添加文字水印 /// </summary> /// <param name="img">图片</ ...

  6. 周一02.4变量&垃圾回收机制

    一.变量 1. 什么是变量 量:记录事物的某种状态,即事物典型的特征 变:事物的状态是可以发生变化的 2. 为何要用变量 是为了让计算机能够像人一样记录事物的状态 3. 如何用变量 (先定义后引用) ...

  7. 卸载或安装Git出现Invalid drive错误的解决方案【简记】

    前言:工作中由于公司的电脑(SSD+HDD)硬盘(HDD)突然坏了,只剩下一个系统盘(SSD).然后就是有个比较紧急的需求正在做,申请换的新硬盘不能立刻换上,因为工作的机器不在公司,操作远程机器工作, ...

  8. 数论 C - Aladdin and the Flying Carpet

    It's said that Aladdin had to solve seven mysteries before getting the Magical Lamp which summons a ...

  9. 单向链表的Java实现

    package testOffer.linkedList; import org.w3c.dom.Node; public class SingleLinkedList { //测试用例 public ...

  10. time-时间模块

    # time模块import time# 时间戳res = time.time() # ***print(res, type(res)) # time.sleep(1) # ***# print(12 ...