• Webpack之知识初探索,搭建一个简单的webpack开发环境


    webpack 是代码编译工具,有入口、出口、loader 和插件。webpack 是一个用于现代 JavaScript 应用程序的静态模块打包工具。当 webpack 处理应用程序时,它会在内部构建一个依赖图(dependency graph),此依赖图对应映射到项目所需的每个模块,并生成一个或多个 bundle。

    对前端来说,webpack的理解就是:webpack是从入口文件开始,经过模块依赖加载/分析/打包三个流程完成项目构建。

    相对对比grunt,gulp等构建工具的打包思路则是:遍历源文件 匹配规则 打包。这个流程种做不到按需加载。

    如何使用:

    1. 新建文件夹npm init 初始化文件。

    2. 安装webpack

    npm install webpack webpack-cli --save-dev

    3.在当前文件夹内新建webpack.dev.config.js文件。

    1. module.exports = {
    2.     entry: './src/index.js', // 主文件地址
    3.     output: {
    4.         path: __dirname, // 当前路径
    5.         filename: './release/bundle.js' // 输出地址
    6.     }

    4. 修改package.js

    1. "scripts": {
    2. "dev": "webpack --config ./webpack.dev.config.js --mode development",
    3. },

    5. 安装其他依赖

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

    6. webpack 配置

    1. const path = require("path")
    2. const HtmlwebpackPlugin = require("html-webpack-plugin")
    3. plugins:[
    4. new HtmlWebpackPlugin({
    5. template: './index.html'
    6. })
    7. ],
    8. // 设定运行根目录
    9. devServer:{
    10. contentBase:path.join(_dirname,'./release'),
    11. open:true, // 自动打开游览器
    12. prot:9000 监听9000端口
    13. }

    7. 修改启动命令
     

    1. "scripts": {
    2. "dev": "webpack-dev-server --config ./webpack.dev.config.js --mode development",
    3. },

    8. 安装编译打包插件

    yarn add babel-core babel-loader babel-polyfill babel-preset-es2015 babel-preset-latest --save-dev

    1. "dependencies": {
    2. "babel-core": "^6.26.3",
    3. "babel-loader": "^7.1.4",
    4. "babel-plugin-transform-decorators-legacy": "^1.3.4",
    5. "babel-polyfill": "^6.26.0",
    6. "babel-preset-es2015": "^6.24.1",
    7. "babel-preset-latest": "^6.24.1",
    8. "html-webpack-plugin": "^3.2.0",
    9. "webpack": "^4.8.3",
    10. "webpack-cli": "^3.1.1",
    11. "webpack-dev-server": "^3.1.4"
    12. }

    9. 配置es6 转换插件

    1. module: {
    2. rules: [{ // 检测es6转化为es5
    3. test: /\.js?$/,
    4. exclude: /(node_modules)/, // 忽略
    5. loader: 'babel-loader' // 使用babel-loader
    6. }]
    7. }

    10. 主目录下增加.babelrc文件 配置babel配置

    1. {
    2. "presets": [
    3. "es2015",
    4. "latest"
    5. ],
    6. "plugins": []
    7. }
  • 相关阅读:
    8月18日计算机视觉理论学习笔记——图像预处理
    嘉立创学习
    【无标题】
    Java基础:Java虚拟机JVM
    【机器学习笔记】10 人工神经网络
    ssm保险办理系统毕业设计源码012232
    SpringMVC简介
    第二章 智能家居子系统——C51单片机 配置波特率115200
    JAVA面试中的SSM框架基础面试题
    使用ControlCAN.dll收发报文功能实现诊断仪与硬件的UDS报文交互
  • 原文地址:https://blog.csdn.net/qq_31281245/article/details/127403854