• webpack 的环境搭建


    1. npm init -y
    2. 创建src
      2.1 创建index.html
      2.2 main .js

    3. 创建配置 webpack.config.js

    var path = require('path')
    
    module.exports = {
        entry: path.join(__dirname, './src/main.js'),  //入口
        output: {
            path: path.join(__dirname, './dist'),  //输出路径
            filename: 'bundle.js'  //指定文件名称
        }
    }

    4. npm install webpack webpack-cli --save-dev  (webpack 4 之后 webpack 和 webpack-cli 是分离的,都需要安装)
    5. npm i webpack-dev-server -D
    6. 编译打包 ./node_modules/.bin/webpack ,打包后会生成 bundle.js

     

    7.  安装好 webpack-dev-server 后配置 package.json 添加 dev: 

    "dev": "webpack-dev-server --open --port 3000 --contentBase src --hot"
    {
      "name": "study",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "test": "echo "Error: no test specified" && exit 1",
        "dev": "webpack-dev-server --open --port 3000 --contentBase src --hot"
      },
      "keywords": [],
      "author": "",
      "license": "ISC",
      "devDependencies": {
        "webpack": "^4.41.5",
        "webpack-cli": "^3.3.10",
        "webpack-dev-server": "^3.10.1"
      }
    }

    8. 因为使用 dev 运行,热更新后的 bundle.js 文件处于 http://localhost:3000/bundle.js (内存中运行),script 文件需要改路径

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    
    
        <!-- <script src="./dist/bundle.js"></script> -->
        <!-- 热更新后的bundle.js 文件处于 http://localhost:3000/bundle.js -->
        <script src="/bundle.js"></script>
    </head>
    
    <body>
        <div>
            <ul>
                
                <li>1</li>
                <li>2</li>
                <li>3</li>
                <li>4</li>
                <li>5</li>
                <li>6</li>
                <li>7</li>
                <li>8</li>
                <li>9</li>
                <li>10</li>
    
            </ul>
    
        </div>
    </body>
    
    </html>

    9.这时候保存代码后发现需要手动刷新页面,可以安装 html-webpack-plugin 插件。(安装了html-webpack-plugin 后内存中的html会自动调用script)

    10.安装好后配置webpack.config.js 页面

    var path = require('path')
    var htmlwebpackplugin = require('html-webpack-plugin');
    
    module.exports = {
        entry: path.join(__dirname, './src/main.js'),  //入口
        output: {
            path: path.join(__dirname, './dist'),  //输出路径
            filename: 'bundle.js'  //指定文件名称
        },
        plugins: [
            new htmlwebpackplugin({
                template: path.join(__dirname, './src/index.html'), //模板文件路径
                filename: 'index.html' //设置内存页面名称
            })
        ]
    }

    在终端输入 npm run dev  运行,现在在编译器保存浏览器也会自动刷新了

     11.配置css

      11.1 添加index.css

       

      11.2 安装  npm i style-loader css-loader -D

     

      

      11.3 在main.js中引用 index.css

    console.log('ok11')
    
    import './css/index.css'

       

      11.4 配置webpack.config.js  (添加 module 节点)

    var path = require('path')
    var htmlwebpackplugin = require('html-webpack-plugin');
    
    module.exports = {
        entry: path.join(__dirname, './src/main.js'),  //入口
        output: {
            path: path.join(__dirname, './dist'),  //输出路径
            filename: 'bundle.js'  //指定文件名称
        },
        plugins: [
            new htmlwebpackplugin({
                template: path.join(__dirname, './src/index.html'), //模板文件路径
                filename: 'index.html' //设置内存页面名称
            })
        ], 
        module: {
            rules: [
                { test: /.css$/, use: ['style-loader', 'css-loader'] }
            ]
        }
    }

      11.5  npm run dev 运行

     12 配置 less 

      12.1 添加 index.less

      12.2 安装 less-loader 和 less 

      

      12.3 配置webpack.config.js (添加less)

    var path = require('path')
    var htmlwebpackplugin = require('html-webpack-plugin');
    
    module.exports = {
        entry: path.join(__dirname, './src/main.js'),  //入口
        output: {
            path: path.join(__dirname, './dist'),  //输出路径
            filename: 'bundle.js'  //指定文件名称
        },
        plugins: [
            new htmlwebpackplugin({
                template: path.join(__dirname, './src/index.html'), //模板文件路径
                filename: 'index.html' //设置内存页面名称
            })
        ],
        module: {
            rules: [
                { test: /.css$/, use: ['style-loader', 'css-loader'] },
                //处理 less 文件
                { test: /.less$/, use: ['style-loader', 'css-loader', 'less-loader'] }
            ]
        }
    }

      12.4   npm run dev 运行

    13  scss 同上

       npm i sass-loader sass -D

      

    var path = require('path')
    var htmlwebpackplugin = require('html-webpack-plugin');
    
    module.exports = {
        entry: path.join(__dirname, './src/main.js'),  //入口
        output: {
            path: path.join(__dirname, './dist'),  //输出路径
            filename: 'bundle.js'  //指定文件名称
        },
        plugins: [
            new htmlwebpackplugin({
                template: path.join(__dirname, './src/index.html'), //模板文件路径
                filename: 'index.html' //设置内存页面名称
            })
        ],
        module: {
            rules: [
                { test: /.css$/, use: ['style-loader', 'css-loader'] },
                //处理 less 文件
                { test: /.less$/, use: ['style-loader', 'css-loader', 'less-loader'] },
                //处理 scss 文件
                { test: /.scss$/, use: ['style-loader', 'css-loader', 'sass-loader'] }
            ]
        }
    }

       npm run dev 运行

      

     14. css 里面的图片处理

      npm i url-loader file-loader -D   --图片处理 

      webpack.config.js
    
    
    module: {
            rules: [
                { test: /.css$/, use: ['style-loader', 'css-loader'] },
                //处理 less 文件
                { test: /.less$/, use: ['style-loader', 'css-loader', 'less-loader'] },
                //处理 sass 文件
                { test: /.scss$/, use: ['style-loader', 'css-loader', 'sass-loader'] },
                //处理css 里面的图片
                { test: /.(jpg|png|gif|bmp|jpeg)$/, use: ['url-loader?limit&name[hash:8]-[name].[ext]'] }
            ]
        },
    
    
     
  • 相关阅读:
    Eclipse 3.6 中安装WindowBuilder Pro及使用SWT Designer
    BEC听力训练 方法
    在Eclipse安装Aptana插件
    failed to create JVM 解决办法
    BEC听力训练 方法2
    ATF/Installing
    Eclipse中如何配置SWT
    语音信号 :lms算法麦克风语音降噪
    图像信号 matlab滤波器设计1 :高通滤波器应用和设计
    matlab m文件
  • 原文地址:https://www.cnblogs.com/lbx6935/p/12121160.html
Copyright © 2020-2023  润新知