基于create-react-app脚手架编写UI组件包发布到npm平台

本文档介绍了如何基于create-react-app构建UI组件库,并将其发布到npm平台。首先,讲解了属性定义,包括入口、模块、代码库等概念。接着,详细阐述了webpack的执行流程,从解析Entry开始,通过Loader转换Module,再到形成Chunk并最终输出。然后,指导读者如何初始化和安装项目,包括执行初始化命令和配置文件的设置。接着,展示了项目目录结构,并说明了打包过程。最后,介绍了如何引用发布的组件包及其使用方法。
摘要由CSDN通过智能技术生成

webpack属性定义

  • Entry: 入口
  • Module:模块,webpack中一切皆是模块
  • Chunk:代码库,一个chunk由十多个模块组合而成,用于代码合并与分割
  • Loader:模块转换器,用于把模块原内容按照需求转换成新内容
  • Plugin:扩展插件,在webpack构建流程中的特定时机注入扩展逻辑来改变构建结果或做你想要做的事情
  • Output: 输出结果

webpack执行流程

webpack启动后会从 Entry 里配置的 Module 开始递归解析 Entry 依赖的所有Module.每找到一个Module,就会根据配置的Loader去找出对应的转换规则,对Module进行转换后,再解析出当前的Module依赖的Module.这些模块会以Entry为单位进行分组,一个Entry和其所有依赖的Module被分到一个组也就是一个Chunk。最好Webpack会把所有Chunk转换成文件输出。在整个流程中Webpack会在恰当的时机执行Plugin里定义的逻辑。

初始化和安装

Create-react-app初始化新建项目

执行命令

npx create-react-app ui-component-demo
cd ui-component-demo
npm start

会自动打开http://localhost:3000:
在这里插入图片描述

安装webpack,配置webpack.config.jspackage.json

执行命令:

npm install --save-dev webpack webpack-cli

配置webpack.config.js

const path = require('path');

module.exports = {
   
    mode: "production",
    entry: {
   
        index: "./src/components/index.js"
    },
    output: {
   
        path: path.resolve(__dirname, "dist"),
        filename: '[name].js',
        library: "myLibrary",
        libraryTarget: 'umd',
        publicPath: '/', // 上线时配置的是cdn的地址
    },
    resolve: {
   
        modules: [
            "node_modules",
            path.resolve(__dirname, "app")
        ],
        // 用于查找模块的目录
        extensions: [".js", ".json", ".jsx", ".css"],
        alias: {
   

        }
    },
    devServer: {
   
        hot: true,
        https: false,
        compress: false,
        port
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值