首页
学习
活动
专区
圈层
工具
发布

webpack5构建一个通用的组件库

为组内实现一个私有通用的组件库,解放重复劳动力,提高效率,让你的代码被更多小伙伴使用。 本文是笔者总结的一篇关于构建组件库的一些经验和思考,希望在项目中有所帮助。 正文开始......配置文件ts环境支持 需要安装以下几个插件 npm install --save-dev typescript ts-node @types/node @types/webpack 并且需要修改tsconfig.json..."module": "commonjs", "target": "es5", ... } } 在.eslintrc.js中的相关配置,配置env.node:true,主要是为了支持...require方式,具体参考如下,关于eslint配置可以参考以前写的文章。...配置文件支持ts 组织webpack5打包不同library.type,支持打包成不同type,umd,cjs,ejs三种类型 编写具体工具类函数 将自己写的工具类发布到npm或者私服上,让工具类变成通用工具代码

1K10

create-react-app webpack4升级webpack5

因为脚手架默认是隐藏webpack配置的,所以需要先运行npm run eject或yarn eject暴露配置文件,然后我们就可以开始升级了。...部分报错处理 报错process is not defined,解决方法:链接,这里注意一点,如果改完之后报错Cannot find module 'process/browser' ,需要安装node-libs-browser...我这里最终改完的webpack.config.js 完整文件如下,这里因为项目中使用less,所以关的sass配置注释掉了改成了less,其他都是默认脚手架的配置,没有额外优化。.... // 生成最终webpack开发环境或者生成环境的配置 module.exports = function(webpackEnv) { const isEnvDevelopment = webpackEnv...期间查了不少webpack4升级5的博文,实际升级中能参考的十分有限,主要要是参考webpack官网升级指南、stackoverflow和各种的issue。坑还是蛮多的。

1.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【架构师(第九篇)】如何让 Node 环境支持 ES Module

    利用 webpack 安装 webpack npm i -D webpack webpack-cli 修改代码 主文件使用 require 去调用 webpack 构建后的 core.js // test-cli.../utils'; utils(); 配置好 webpack.config.js // webpack.config.js const path = require('path'); module.exports...可以启动监听状态,当文件发生变化时,自动执行构建过程 npm run dev 通过 webpack target 属性支持 Node 内置库 当我们调用 node 的内置库时,比如 path、fs,webpack...构建会报错,因为 webpack 默认使用 web 环境进行构建,web 环境不存在 node 的内置库,所以我们需要修改 target 属性为 node。...@babel/runtime-corejs3 配置 webpack // webpack.config.js const path = require('path'); module.exports

    1.4K20

    Electron 常见问题收录

    仔细比对就会发现:官方地址中的版本号中没有字母"v" ,而脚本在安装过程中依然拼出了带有 v8.1.1 的路径。...例如: Uncaught ReferenceError: require is not defined 问题分析 Electron 从 5.0 开始, nodeIntegration 配置项的默认值由...我们在编写构建配置的时候,很自然的会把 "/" 当成 应用路径 来用,然而在运行时 “/” 却代表的是 工作路径,工作路径 和 应用路径的不一致,是造成文件加载失败的根本原因,下面罗列出了这两种路径在不同平台下运行时的关系...的命令行参数,以使代码构建过程按不同的目标平台特点正确打包,在 module.exports 之前添加以下代码: const os = require('os'); // 如果不传 target_platform...['win32', 'darwin'].includes) target = os.platform(); return target; })(); 然后添加以下 "rules" 配置: module

    20.4K165

    初探webpack之单应用多端构建

    === 'production') { module.exports = require('..../cjs/react.production.min.js'); } else { module.exports = require('..../,这个插件可以在打包的过程中将指定的变量替换为指定的值,从而实现我们要做的允许跨端的的不同行为,我们直接在webpack的配置文件中配置即可。...在ES Module中,顶部声明的模块是完全静态的,也就是说整个模块的依赖结构在编译时是能够明确确定的,那么通过确定的依赖来实现TreeShaking就是比较简单的事情了,当然通过require以及import...,而基于webpack封装的应用框架通常也可以直接定义底层的webpack配置,从而将环境变量注入进去,一些常见的构建工具配置方式如下: // webpack new webpack.DefinePlugin

    49100

    TRTC Electron SDK 常见问题收录

    仔细比对就会发现:官方地址中的版本号中没有字母"v" ,而脚本在安装过程中依然拼出了带有 v8.1.1 的路径。...例如: Uncaught ReferenceError: require is not defined 问题分析 Electron 从 5.0 开始, nodeIntegration 配置项的默认值由...我们在编写构建配置的时候,很自然的会把 "/" 当成 应用路径 来用,然而在运行时 “/” 却代表的是 工作路径,工作路径 和 应用路径的不一致,是造成文件加载失败的根本原因,下面罗列出了这两种路径在不同平台下运行时的关系...的命令行参数,以使代码构建过程按不同的目标平台特点正确打包,在 module.exports 之前添加以下代码: const os = require('os'); // 如果不传 target_platform...['win32', 'darwin'].includes) target = os.platform(); return target; })(); 然后添加以下 "rules" 配置: module

    5.8K20
    领券