如何在浏览器中使用twitter-text统计推文长度?
twitter-text库引用报错解决方案
报错原因说明
require is not defined报错和库的模块规范有关:
twitter-text默认发布的npm包采用CommonJS模块规范,require是该规范下的模块导入语法,主要适配Node.js环境、以及使用了Webpack/Vite/Rollup等打包工具的前端工程场景。原生浏览器环境不支持CommonJS规范,没有内置require方法,直接引入对应资源就会触发该报错。
正确使用方式
1. 有前端打包工具的工程场景
直接通过包管理器安装后导入使用即可:
- 安装命令:
npm install twitter-text - 代码中调用示例:
import twitterText from 'twitter-text' // 统计推文长度 const length = twitterText.getTweetLength('待统计的推文内容')
2. 原生浏览器无打包工具场景
需引入该库的UMD格式编译产物,UMD格式兼容浏览器全局变量引入方式,无需require支持:
- 去公共CDN平台搜索对应版本的twitter-text UMD格式压缩资源,引入到页面中
- 引入后可直接调用全局挂载的
twitterText对象方法,示例:
const tweetContent = "测试推文内容" const tweetLength = twitterText.getTweetLength(tweetContent) console.log(tweetLength)
内容的提问来源于stack exchange,提问作者stackers
相关产品推荐
相关产品推荐

