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. 微信小程序之菜鸟入门教学(二)

    昨天学习了一些简单的概念,今天开始实际操作,通过搭建简单的计算器来学习小程序的架构 一.小程序框架 程序框架如上图所示.由此可见,框架的基本构成为: 1. app.js . app.wxss 2. a ...

  2. 一起学Android之ViewPager

    本文以一个简单的小例子,简述在Android开发中ViewPager的常见用法,仅供学习分享使用. 概述 ViewPager是一个支持使用者左右滑动的布局管理控件,可以通过一个实现的(适配器)Page ...

  3. 智能指针std::unique_ptr

    std::unique_ptr 1.特性 1) 任意时刻只能由一个unique_ptr指向某个对象,指针销毁时,指向的对象也会被删除(通过内置删除器,通过调用析构函数实现删除对象) 2)禁止拷贝和赋值 ...

  4. Spark MLlib KMeans 聚类算法

    一.简介 KMeans 算法的基本思想是初始随机给定K个簇中心,按照最邻近原则把分类样本点分到各个簇.然后按平均法重新计算各个簇的质心,从而确定新的簇心.一直迭代,直到簇心的移动距离小于某个给定的值. ...

  5. 用 Python 描述 Cookie 和 Session

    这篇文章我们来聊聊Cookie和Session,网上有很多关于这两个知识点的描述,可惜的是大部分都没有示例代码,因此本文的重点在于示例代码. 环境 Python3.6.0 Bottle0.12.15 ...

  6. 使用Log4Net进行错误日志记录

    http://blog.csdn.net/zdw_wym/article/details/48802821

  7. 关于executemany()方法在不同OS和DB API下的不同表现的测试

    昨天在参照着网上写一段关于MySQL连接池的配合gevent多线程调用的代码时遇到了一个问题,自己写的代码根本不能多线程执行,比单会话插入数据慢太多,直到今天早上才发现问题所在,把DB API从MyS ...

  8. 将Windows Server 2016 打造成工作站(20161030更新)

    将Windows Server 2016 打造成工作站(20161030更新) 一.基础设置 1.1.关闭自动弹窗:   「开始菜单」 - 「服务器管理器」 - 「仪表板」(或 Win + R或CMD ...

  9. Excel自定义公式,类似VLOOKUP的查询

    Excel在使用VLOOKUP时,当检索值超过255长度的时候就会报错,没法正常检索. 官方提供的办法是通过INDEX和MATCH公式组合使用来解决. 微软官方方案 1,公式 =INDEX($A$5: ...

  10. Bootstrap -- 插件: 提示工具、弹出框、 警告框消息

    Bootstrap -- 插件: 提示工具.弹出框. 警告框消息 1. 提示工具(Tooltip)插件:根据需求生成内容和标记. 使用提示工具: <!DOCTYPE html> <h ...