首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何发布一个 TypeScript 编写 npm

前言 在这篇文章,我们将使用TypeScript和Jest从头开始构建和发布一个NPM。 我们将初始化一个项目,设置TypeScript,用Jest编写测试,并将其发布到NPM。...项目 我们库称为digx。它允许从嵌套对象根据路径找出值,类似于lodashget函数。...npm i -D jest @types/jest ts-jest ts-jest是Jest理解TypeScript所需要。另一个选择是使用babel,这将需要更多配置和额外模块。...注册成功后,通过你终端用npm login登录。 我们离发布我们只有一步之遥。不过,还有几件事情需要处理。 首先,确保我们package.json拥有正确元数据。...总结 我们从头开始创建并发布了一个简单npm。 我们库提供了一个ESM模块,TypeScript类型,使用jest覆盖测试用例。 你可能会认为,这其实一点都不难,的确如此。

1.8K20

如何发布一个 TypeScript 编写 npm

前言在这篇文章,我们将使用TypeScript和Jest从头开始构建和发布一个NPM。我们将初始化一个项目,设置TypeScript,用Jest编写测试,并将其发布到NPM。...npm可以在这里找到。GitHub仓库地址在这里。初始化项目让我们从创建空目录并初始化它开始。...npm i -D jest @types/jest ts-jestts-jest是Jest理解TypeScript所需要。另一个选择是使用babel,这将需要更多配置和额外模块。...注册成功后,通过你终端用npm login登录。我们离发布我们只有一步之遥。不过,还有几件事情需要处理。首先,确保我们package.json拥有正确元数据。...总结我们从头开始创建并发布了一个简单npm。我们库提供了一个ESM模块,TypeScript类型,使用jest覆盖测试用例。你可能会认为,这其实一点都不难,的确如此。

1.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

rollup打包ts+react最佳实践

支持引用node_modules外部依赖 在 Rollup ,我们要想使用 node_modules 里面的,必须使用 @rollup/plugin-node-resolve 这个插件才行 这一点和...支持加载css 一般情况下,我们写组件库是不会用到css,但如果你编写库需要引入css,就需要添加rollup-plugin-postcss插件,它支持css文件加载、css加前缀、css压缩、对...'], }), ... ] 加载typescript 安装 npm install @rollup/plugin-typescript typescript --save-dev 配置...rollup默认会将我们用到依赖项全部打包进bundle,有的时候会造成我们bundle特别的打大,我们可以通过配置exteral来将它们改为外部依赖,以此来减小我们体积 配置 input:...... output:... external:['react'] //告诉rollup不要将此react打包,而作为外部依赖,在使用该库时需要先安装相关依赖 至此,rollup打包基础配置已经完成

3.2K20

自定义 npm 读取外部 npm install 时传入命令行参数

当我们自定义 npm 需要在测试阶段根据环境动态设置一些参数时就显得有些麻烦了。如果能在 npm install 时传递一些参数来提供内部 npm 读取就会变比较方便。...本文介绍如何通过 npm install 增加命令行参数和 .npmrc 来动态配置自定义 npm 行为。...接管 npm install 流程 当外部项目引入我们自定义 npm 时,必须要执行就是 npm install your_package_name 来安装你。...') task('install', () => { logger.info(process.env) }) 此时当外部项目引入你时,会首先读取 package.json 发现有 install...指令,随后调用 just install 命令(just 为 just-task 引入命令),随后 just 命令会到 just-task.js 寻找 install 任务来执行。

37130

React项目实战(React后台管理系统、TypeScript+React18)-环境准备(1)

React项目实战(React后台管理系统、TypeScript+React18)视频 React项目实战(React后台管理系统、TypeScript+React18)源码 这是一套Typescript...√ Select a variant: » TypeScript 运行项目 cd vite-project npm install npm run dev 在浏览器输入、访问: 在浏览器里面打开package.json...执行以下命令安装 reset-css npm i reset-css 安装完成之后开始引入 全局引入 打开main.tsx import "reset-css" 正确样式引入顺序 1:样式初始化一般放在最前...而devDependencies用于开发环境,仅仅在写代码过程需要使用,比如css预处理器、vue-cli脚手架、eslint等。...安装依赖:devDependencies下依赖仅用于本地或开发环境下运行代码,若发到线上,其实就不需要devDependencies下所有依赖,比如各种loader,babel全家桶及各种

46940

React项目实战(React后台管理系统、TypeScript+React18)-环境准备(1)

React项目实战(React后台管理系统、TypeScript+React18)视频 React项目实战(React后台管理系统、TypeScript+React18)源码 这是一套Typescript...√ Select a variant: » TypeScript 运行项目 cd vite-project npm install npm run dev 在浏览器输入、访问: 在浏览器里面打开package.json...执行以下命令安装 reset-css npm i reset-css 安装完成之后开始引入 全局引入 打开main.tsx import "reset-css" 正确样式引入顺序 1:样式初始化一般放在最前...而devDependencies用于开发环境,仅仅在写代码过程需要使用,比如css预处理器、vue-cli脚手架、eslint等。...安装依赖:devDependencies下依赖仅用于本地或开发环境下运行代码,若发到线上,其实就不需要devDependencies下所有依赖,比如各种loader,babel全家桶及各种

42440

2021年从零开发前端项目指南

前端工程化项目是建立在 node.js 环境下,之后需要安装各个 npm ,所以首先电脑必须已经配置好了 node 环境。 新建一个目录然后执行 npm init 来初始化一个项目。...npm i -D webpack webpack-cli webpack-dev-server 安装之后 package.json 会自动记录我们安装 node ,对应版本如下,如果安装和我不一样的话...npm i -D typescript @types/react @types/react-dom 根目录新建 tsconfig.json 进行 ts 配置。...npm install antd 顺便可以按照习惯把 main.tsx hello 组件抽离出来并且命名为 app.tsx。...npm i -D style-loader css-loader css-loader 可以让我们在 js 引入 css,style-loader 帮我们将 css 以 style 标签形式插入到页面

2.8K30

webpack + react + ts + semiDesign +electron

React依赖 这里一共装了四个 yarn add react react-dom @types/react @types/react-dom 注意这里没用 "-D" 因为react不止是在我们本地开发时使用...表示要额外获得React和ReactDOM声明文件。当导入 react这样路径,它会查看react。...但是,并不是所有的都包含了声明文件,所以TypeScript还会查看 @types/react React hello world 新建一个src文件夹 然后新建模板index.html 和 index.tsx...如下我们添加了index.css.d.ts就不再报错了 我们看一下index.css.d.ts内容,将 index.css内容转换为了ts /* index.css */ foo{} /* index.css.d.ts...npm地址 安装 npm install -g typed-css-modules 然后 执行如下命令,就会把src文件夹下css文件都生成相应 css.d.ts tcm src less 添加配置

2.1K50

从零搭建基于react与ts组件库(一)项目搭建与封装antd组件

在封装组件并生成umd代码过程,踩了很多坑,也更加系统了解了babel。 整体需求 react组件库,取名r-ui,能够导出r-ui.umd.js和r-ui.umd.css。...依赖reactreact-dom模块以外部引用方式。 开发与打包工具选型 使用webpack作为打包工具 老牌而又经典打包工具,广泛使用,丰富插件生态以及各种易得样例。...所以,回到我们上述那些@babel开头npm,再回首可能不会那么迷茫: @babel/core @babel/preset-env @babel/preset-typescript @babel/...引入React相关库(externals方式) 还记得我们需求吗? 依赖reactreact-dom模块以外部引用方式。 什么是外部引用方式?...简单来讲,我希望reactreact-dom等组件库,不会被打入到组件库,而是在html引入(Add React to a Website – React (reactjs.org)):

73231

lerna-lite 轻量化 monorepo 管理利器

lerna-lite 介绍 lerna-lite 是用来管理和发布同一仓库多 JavaScript/TypeScript 一款工具,与 lerna 相比 lerna-lite 具有更轻量化和模块化特点...为软件创建新版本 changed npm i -D @lerna-lite/changed 查看上一个版本发布以来更改软件 diff npm i -D @lerna-lite/diff 查看上一个版本发布以来软件发生变化...exec npm i -D @lerna-lite/exec 运行 shell 命令 list npm i -D @lerna-lite/list 列出工作区所有本地软件 run npm...JavaScript/TypeScript ; 删除 node_module: 安装:npm i -D @lerna-lite/exec; 添加脚本: { "scripts": { "clear...": "lerna exec -- npm install" } } PS:一次性安装 packages 每个应用依赖; 启动所有应用: 安装:npm i -D @lerna-lite/run;

15410

WEB前端工具推荐丨分享6个热门颜色选择器组件

与那里许多其他颜色选择器不同,colorjoe 是真正可扩展。它基于 CSS,不依赖于外部图像。因此,您可以调整其大小以适应您目的。还支持触控和 AMD 模块定义。...项目地址:https://github.com/bebraw/colorjoe 安装 npm i colorjoe 如果您更喜欢独立 dist,请将预打包dist/colorjoe.js和添加css...但是大小对于打算在浏览器工作所有内容都非常重要。React Colorful 是一个用于 React 和 Preact 应用程序小型颜色选择器组件,使用 hooks 和函数组件构建。...它使用严格 TypeScript 编写,具有 100% 测试覆盖率,界面简单易用,适用于大多数浏览器,支持移动设备和触摸屏遵循 WAI-ARIA 指南以支持辅助技术用户,压缩后仅 2,8 KB(比...window.VueColor这些也可用于 NPM 

1.9K20

2023 最新最全 VSCode 插件推荐!

可以使用 VSCode React Refactor 快速重构代码,它会将 JSX 代码片段提取到新类、组件。此外,它还支持 TypeScript、TSX、常规函数、类和箭头函数。...Typescript React Code Snippets 此插件包含了使用 Typescript React 代码片段,它支持 Typescript(.ts) 或 TypeScript React...以下是使用 TypeScript 创建 React 组件两个片段。...npm Intellisense 该插件为 import 语句中 npm 模块提供了自动完成功能。npm 模块所有导入都会使用此扩展自动处理。...当输入自定义组件开始标签时,它会自动添加结束标签。 CSS Peek 使用该插件,可以直接从 HTML 和 JavaScript 文件快速导航和编辑外部样式表定义 CSS 样式。

2.8K30

如何规范地发布一个现代化 NPM

外置框架 不要将 React、Vue 等框架打包在你 当构建库依赖某个框架(例如 React、Vue 等),或是作为另一个库插件,你可能需要将框架配置到“externals”。...举个例子,如果你使用 TypeScript,你可以创建两个版本代码: 通过在 tsconfig.json 设置 "target"="esnext",生成一个用现代 JavaScript esm...如果 CSS 只是你一部分(例如,具有默认样式组件库),那么最好将 CSS 按组件分离单独构建产出,在使用相应组件时按需导入。这方面的一个例子是 react-component。...列出要发布 files files 定义你 NPM 要包含哪些文件 files 决定 npm CLI 在打包库时哪些文件和目录包含到最终 NPM 。...例如,如果你将代码从 TypeScript 编译为 JavaScript,你可能就不想在 NPM 包含 TypeScript 源代码。(相反,你应该包含 sourcemap)。

2.1K20
领券