• webpack 使用与配置


    目录结构

    其中index.js为入口文件

    进入项目更目录

    cd webpack
    webpack ./src/index.js ./dist/bundle.js

    用webpack将项目打包为bundle.js

    index.js  是 js入口文件,info.jsmain.js是js自定义库,通过module.exports导出变量与函数

    入口中使用requireimport 导入

    index.js 是不能直接引入项目中的,module.exports 是无法识别的。需要通过webpack打包,才能使用,项目中引入的是打包好的文件(bundle.js)

     index.js

    1. // common.js 模块规范
    2. const{add,mul} = require('./main.js')
    3. console.log(add(10,20))
    4. console.log(mul(10,20))
    5. // 2.使用ES6模块规范
    6. import{name,age} from "./info.js"
    7. console.log(name)
    8. console.log(age)

    main.js

    1. function add(num1, num2){
    2. return num1 + num2
    3. }
    4. function mul(num1, num2){
    5. return num1 * num2
    6. }
    7. module.exports = {
    8. add,
    9. mul
    10. }

    info.js

    1. export const name = "lisa"
    2. export const age = 23

     index.html

    1. html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>title>
    6. head>
    7. <body>
    8. <h1>webpackh1>
    9. <script src="./dist/bundle.js">script>
    10. body>
    11. html>

    控制台 

     

     配置webpack.config.js

    根目录webpack.config.js

    配置好webpack.config.js后,在根目录 执行webpack即可打包,不需要webpack ./src/index.js ./dist/bundle.js  这么多命令,

    1. const path = require('path') // 引入path包(node中的包)
    2. module.exports = {
    3. entry : "./src/index.js",//js 入口文件
    4. output : { //出口
    5. path : path.resolve(__dirname,'dist'), //node中的函数__dirname 获取当前文件路径再与dist拼接
    6. filename : "bundle.js" // 打包生成的文件
    7. },
    8. }

    配置package.json

    package.json作用

    1. node_modules文件夹的问题

    1. 文件夹以及文件过多过碎,当我们将项目整体拷贝给别人的时候,传输速度会很慢很慢.

    2. 复杂的模块依赖关系需要被记录,确保模块的版本和当前保持一致, 否则会导致当前项目运行报错

    2. package.json文件的作用

    项目描述文件,记录了当前项目信息,例如项目名称、版本、作者、github地址、 当前项目依赖了哪些第三方模块等。 package.json文件在项目根目录下使用npm init -y命令生成

    生成package.json

    npm init -y

    在传项目给用户时可以node_modules文件删除,让用户在此项目根目录下输入命令:npm install,系统会查看dependencies(项目依赖的第三方模块)里面的内容,自动把包下载完,生成node_modules文件

  • 相关阅读:
    CAD .NET 14.1.X DWG/ DXF, PLT 自由转换- CNC
    百度apollo自动驾驶planning代码学习-Apollo\modules\planning\common\IndexedList类代码详解
    PX4模块设计之二十五:DShot模块
    【Log4cpp】项目日志Log4cpp的简单使用
    软件开发项目文档系列之十五如何撰写项目结项报告
    微服务框架 SpringCloud微服务架构 6 Nacos 配置管理 6.2 微服务配置拉取
    百度通用文字识别离线SDK部署(c#)
    C#——委托
    docker笔记7:Docker微服务实战
    51单片机:串口通信
  • 原文地址:https://blog.csdn.net/qq_43035350/article/details/126697313