zoukankan      html  css  js  c++  java
  • webpack常用知识点

    1.pc端中后台应用打包
    npm组件在浏览器的js中不能直接引入,所以要借助webpack等工具
    jsx在浏览器端也是无法直接解析,要用工具转换
    页面打包速度和资源体积问题
    4.构建工具需要原因:
    转换es6语法、JSX
    css前缀补全/预处理器
    压缩混淆
    图片压缩
    5.webpack原因
    github活跃量
    社区生态丰富
    配置灵活,插件化扩展
    官方更新迭代快
    6.零配置webpack:
    只有entry和output,entry指定默认的entry为: ./src/index.js.
    output指定默认的为: ./dist/main.js
    8.
    >//使用以下命令:
    ./node_modules/.bin/webpack
    生成bundles.js文件.
    下一步,在bundles.js同级目录下新建index.html文件,在此文件的script标签的src中引入bundles.js,用浏览器打开,即可
    9.在package.json中增加“build”,执行“npm run build”,也可生产bundle.js文件
    "scripts": {
    "test": "echo "Error: no test specified" && exit 1",
    "build":"webpack"
    },
    10.entry用法:
    单入口:entry是一个字符串;多入口:entry是个对象(key-value)
    11.Output用来告诉we'b'pack如何将编译后的文件输出到磁盘。
    output的多入口配置:通过占位符确保文件名称的唯一,如[name].js
    12.loaders:
    webpack开箱即用只支持js和json两种文件类型,通过loaders去支持其他文件类型并且把它们转化成有效的模块,且可以添加到依赖图中。本身是一个函数,接受源文件作为参数,返回转换的结果。
    babel-loader 转换ES6,ES7等js新特性语法
    css-loader file-loader等等
    module rules中test指定匹配规则,use指定使用的loader名称
    13.plugins:
    插件用于bundle文件的优化,资源管理和环境变量注入,作用于整个构建过程
    任何loaders没法做的事情,可以用plugins完成
    CommonChunkPlugin ZipWebpackPlugin....
    14.mode:
    mode指定当前的构建环境是production development还是none
    设置mode可使用webpack内置的函数,默认为production
    15.解析ES6 react jsx:
    rules:[
    {
    test:/.js$/,
    use:'babel-loader'
    }
    ]
    //安装必要的文件:
    npm i @babel/core @babel/preset-env babel-loader -D
    *在vscode中的html文件中输入!,在弹出的下来提示中选择“!”,回车,就会出现一个默认的html文件模板出来!
    //增加react的babel preset配置:
    {
    "preset":[
    "@babel/preset-env",
    "@babel/preset-react"
    ],
    }
    //安装必要的文件:
    npm i react react-dom @babel/preset-react -D
    16.解析CSS LESS SASS
    css-loader用于加载.css文件,并且转换成commonjs对象
    style-loader将样式通过<style>标签插入到head中
    * <script src="./search.js" type="text/javascript"></script> //其中是type
    rules: [
    {
    test: /.js$/,
    use: 'babel-loader'
    },
    {
    test:/.css$/,
    use: [
    'style-loader',
    'css-loader'
    ]
    },
    {
    test: /.less$/,
    use: [
    'style-loader',
    'css-loader',
    'less-loader'
    ]
    }
    ]
    //search.css search.less:
    .search-text {
    font-size: 20px;
    color: #f00;
    }
     
  • 相关阅读:
    Thrift全面介绍
    ZooKeeper全面介绍
    Redis全面介绍
    第三篇:彻底解决ssh.invoke_shell() 返回的中文问题
    第二篇:ssh.invoke_shell() 切换root出现的新问题
    第一篇:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc3 in position 0: invalid continuation byte
    pycharm安装 suds模块报错:AttributeError: module 'pip' has no attribute 'main'
    变量赋值理解--Pyton中让两个值互换的方法
    02 Django框架基础(APP的创建访问)
    01 Web框架介绍
  • 原文地址:https://www.cnblogs.com/begin256/p/10987964.html
Copyright © 2011-2022 走看看