webpack简单配置

webpack有4个重点内容:

  • 入口(entry):指示webpack 应该使用哪个模块,来作为构建其内部依赖图的开始
  • 输出(output):告诉 webpack 在哪里输出它所创建的 bundles,以及如何命名这些文件,默认值为 ./dist
  • 加载器(loader):loader 让 webpack 能够去处理那些非 JavaScript 文件,比如css,图片
  • 插件(plugins):插件可以用于执行范围更广的任务,比如打包优化和压缩

随时切换镜像源:?

  1. npm install nrm -g // 安装nrm?

  2. nrm ls // 查看镜像源?

  3. nrm use taobao // 选择淘宝镜像,也可以选择cnpm

webpack安装

  npm init -y

  npm i webpack -D

  npm i webpack-cli -D

webpack初始使用

  1. 根目录下面新建src目录,在该目录下面创建自己的js文件
  2. 然后运行npx webpack 将创建出来的js文件打包,(会生成一个dist目录,默认打包出来的文件是main.js)此时会有警告,意思是mode选项没有设置。mode模式有两种,一种是deveopment,一种是production
  3. 添加mode选项,运行命令npx webpack --mode development
  4. 修改代码,自动重新打包,运行命令npx webpack --mode development --watc

webpack热更新

  1. 安装`npm i webpack-dev-server -D
let path = require(‘path‘)

module.exports = {
  // 入口文件配置
  entry: "./src/index.js",

  // 出口文件配置项
  output: {
    // 输出的路径,必须是绝对路径
    path: path.join(__dirname, ‘dist‘),
    // 输出文件名字
    filename: "bundle.js",
    // 2. 静态资源打包出来在服务器上运行时的访问路径,可以直接http://localhost:8080/dist/bundle.js访问到服务器中的bundle.js文件
    publicPath: ‘/dist‘
  },
  mode: ‘development‘
}
  1. index.html中修改 <script src="/dist/bundle.js"></script>
  2. 运行:npx webpack-dev-server
  3. 运行:npx webpack-dev-server --inline --hot --open --port 8090 --hot热重载
  4. 配置script:"dev": "webpack-dev-server --inline --hot --open --port 8090"
  5. npm run dev

webpack配置文件(针对Vue)

  1. 配置webpack.config.js
  2. 运行npx webpack
let path = require(‘path‘)
let HtmlWebpackPlugin = require(‘html-webpack-plugin‘)

module.exports = {
    // entry 属性表示入口文件路径
    entry: ‘./src/index.js‘,

    // output表示输出配置
    output: {
        // path属性表示输出路径 该路径只能为一个绝对路径
        path: path.join(__dirname, ‘dist‘),

        // filename属性表示给输出的文件取名
        filename: ‘bundle.js‘,

        //publicPath 表示静态资源在服务器的存放路径
        // publicPath: ‘/dist‘
    },

    // module属性用来处理文件模块
    module: {
        // rules 主要用来表示各种文件使用哪种loader加载器
        rules: [
            {
                // test表示处理的文件类型,它后面跟一个正则
                test: /\.css$/,
                // use表示使用哪些loader
                use: [
                    { loader: "style-loader" },
                    { loader: "css-loader" }
                ]
            },
            {
                test: /\.less$/,
                use: [{
                    loader: ‘style-loader‘
                }, {
                    loader: ‘css-loader‘
                }, {
                    loader: ‘less-loader‘
                }]
            },
            {
                test: /\.scss$/,
                use: [{
                    loader: ‘style-loader‘
                }, {
                    loader: ‘css-loader‘
                }, {
                    loader: ‘sass-loader‘
                }]
            },
            {
                test: /\.(png|jpg|gif|eot|svg|ttf|woff)/,
                use: [{
                  loader: ‘url-loader‘,
                  // options表示配置项
                  options: {
                    // limit属性表示如果图片大小大于limit参数的值,那就用路径的形式展示;如果图片小于limit参数的值,那就用base64格式展示。(单位是b)
                    limit: 40000
                  }
                }]
            },
            {
                test: /\.m?js$/,
                exclude: /(node_modules|bower_components)/,
                use: {
                  loader: ‘babel-loader‘,
                  // options: {
                  //   presets: [‘@babel/preset-env‘]
                  // }
                }
            }
        ]
    },

    // 插件
    plugins:[
        new HtmlWebpackPlugin({
            // template 表示最后生成的HTML页面以哪个文件为模板
            template:‘template.html‘,
            // filename表示最后根据模板页面生成的新的HTML页面
            filename:‘index.html‘
        })
    ],

    // 指定mode为开发模式
    mode:‘development‘
}

对应的.babelrc

{
    "presets": ["@babel/preset-env"]
}

对应的package.json文件(相应npm安装包即可)

{
  "name": "test-webpack",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "dev": "webpack-dev-server --inline --hot --open --port 8090"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.1.6",
    "@babel/preset-env": "^7.1.6",
    "babel-loader": "^8.0.4",
    "css-loader": "^1.0.1",
    "file-loader": "^2.0.0",
    "html-webpack-plugin": "^3.2.0",
    "less": "^3.8.1",
    "less-loader": "^4.1.0",
    "node-sass": "^4.10.0",
    "sass-loader": "^7.1.0",
    "style-loader": "^0.23.1",
    "url-loader": "^1.1.2",
    "vue-loader": "^15.4.2",
    "vue-template-compiler": "^2.5.17",
    "webpack": "^4.26.0",
    "webpack-cli": "^3.1.2",
    "webpack-dev-server": "^3.1.10"
  },
  "dependencies": {
    "vue": "^2.5.17",
    "vue-router": "^3.0.2"
  },
  "description": ""
}

  

原文地址:https://www.cnblogs.com/ressiry/p/10502754.html

时间: 2024-10-22 06:52:02

webpack简单配置的相关文章

webpack的简单配置

本人刚开始也不会写webpack配置,刚开始在网上搜索了了一些,看的也是刚刚理解,所以准备自己写下来,已作纪念和贡献给像我一样不会配置的“童鞋”们! 1.创建webpack配置文件 在项目文件下创建一个webpack.config的js文件. 2.配置文件创建好了,我们就开始正式配置webpack了. 1.我们要安装nodejs,应为webpack基于nodejs,nodejs可以点击这里下载: 2.安装完nodejs之后,我们打开命令窗口,找到你的项目文件,在项目文件webpack.confi

webpack实用配置

前面的话 上文介绍了webpack入门,本文将详细介绍webpack实用配置 版本号 以entry.js打包为bundle.js为例,出口的filename可以设置为[id].[name].[hash].[chunkhash]等替换形式,如下所示 var webpack = require('webpack'); module.exports = { entry: './entry.js', //入口文件 output: { path: __dirname,//出口路径 filename: '[

webpack安装配置使用教程详解

webpack安装配置使用教程详解 www.111cn.net 更新:2015-09-01 编辑:swteen 来源:转载 本文章来为各位详细的介绍一下关于webpack安装配置使用教程吧,这篇文章对于不喜欢使用 jspm测试的朋友可以参考一下. webpack 入门 目录 1 安装 webpack2 初始化项目3 webpack 配置4 自动刷新5 第三方库6 模块化7 打包.构建8 webpack 模板我最近大量使用的是 jspm,但因为用它搭建的前端开发环境中,写测试代码非常困难,而项目又

webpack详细配置解析

阅读本文之前,先看下面这个webpack的配置文件,如果每一项你都懂,那本文能带给你的收获也许就比较有限,你可以快速浏览或直接跳过:如果你和十天前的我一样,对很多选项存在着疑惑,那花一段时间慢慢阅读本文,你的疑惑一定一个一个都会消失:如果你以前没怎么接触过Webpack,而你又你对webpack感兴趣,那么动手跟着本文中那个贯穿始终的例子写一次,写完以后你会发现你已明明白白的走进了Webpack的大门. //一个常见的Webpack配置文件 var webpack = require('webp

深入理解webpack基本配置(一)

1. 安装webpack到全局 在学习构建之前,我们来在本地文件新建一个存放项目的文件夹,比如叫demo1这个项目,然后进入demo1该项目的根目录后,执行命令 npm init运行下,一路回车(先简单的来),就会生成一个package.json文件. 在项目中直接运行如下命令,就可以把webpack安装到全局去:如下命令: npm install -g webpack 2. 安装webpack到本项目. 在本项目中,执行如下命令,就可以把webpack安装到本地项目中,如下命令: npm in

webpack 最佳配置指北

webpack 最佳配置指北 前言 对于入门选手来讲,webpack 配置项很多很重,如何快速配置一个可用于线上环境的 webpack 就是一件值得思考的事情.其实熟悉 webpack 之后会发现很简单,基础的配置可以分为以下几个方面: entry . output . mode . resolve . module . optimization . plugin . source map . performance 等,本文就来重点分析下这些部分. 内附一张 webpack 零配置对比图片,关

0123简单配置LNMP

简单配置LNMP不怕出现错误,就怕错误不知道出现在哪里?看日值tail -f /var/log/message -- 系统整个的日志tail -f /var/log/nginx/error.log -- 单个应用的日志http://www.cnblogs.com/make217/p/5836864.htmlhttp://www.cnblogs.com/xiaoit/p/3991037.html

Samba服务器的简单配置

案例说明: 公共目录        public   /abc            ro  允许任何人匿名访问, Daiqing1        smbdq1   /tmp/daiqing1   rw  不允许他人访问 Daiqing2        smbdq2   /tmp/daiqing2   rw  不允许他人访问 Samba服务器的简单配置,布布扣,bubuko.com

Linux安装MariaDB和简单配置

1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB systemctl start mariadb 设置开机启动 systemctl enable mariadb 接下来进行MariaDB的相关简单配置 mysql_secure_installation 首先是设置密码,会提示先输入密码 Enter current password for root (enter for none):<–初