H5-杂记

    1、默认打开手机数字输入键盘maxlength属性无效

<input class="ys1_" name="verificationCode" id="verificationCode" type="number" maxlength="4" placeholder="请输入验证码"/>

    说明:设置type="number" 

 

    2、默认打开手机数字输入键盘,且maxlength="4"有效

<input class="ys1_" name="verificationCode" id="verificationCode" type="tel" maxlength="4" placeholder="请输入验证码"/>

    说明:设置type="tel" maxlength="4" 

 

   

你遇到的问题是:在使用 `process.env.NAME` 时获取不到 `NAME` 的值。 从你提供的 `package.json` 片段来看,你正在使用 **uni-app** 的自定义脚本配置,并在 `scripts` 中通过 `env` 定义了环境变量(如 `"NAME": "TEST"`、`"NAME": "PRO"` 等)。但你在运行代码时通过 `process.env.NAME` 无法获取到这些值。 --- ## 📌 问题分析 uni-app 使用 `uni-preset-vue`(基于 Vite 或 Webpack 等构建工具)时,`env` 中定义的变量不会自动注入到 `process.env` 中,除非变量名以特定前缀开头(如 `VITE_`、`UNI_`、`NODE_ENV` 等),这是构建工具(如 Vite)的限制。 ### ✅ 为什么 `process.env.NAME` 获取不到? - 构建工具(如 Vite)默认只暴露以特定前缀开头的环境变量(如 `VITE_`)。 - `NAME` 没有以这些前缀开头,所以不会被注入到 `process.env`。 - 因此即使你在 `package.json` 中配置了 `"env": { "NAME": "TEST" }`,它也不会出现在运行时的 `process.env` 中。 --- ## ✅ 正确做法 ### ✅ 1. 使用 `import.meta.env`(适用于 Vite) Vite 推荐使用 `import.meta.env` 来访问环境变量。你需要将变量名加上前缀 `VITE_`: #### 修改 `package.json`: ```json "h5-test": { "title": "accept-h5-测试环境", "browser": "chrome", "env": { "UNI_PLATFORM": "h5", "VITE_NAME": "TEST" }, "define": { "H5-CRM-TEST": true } } ``` #### 在代码中访问: ```ts console.log("🚀 ~ import.meta.env.VITE_NAME:", import.meta.env.VITE_NAME); ``` ### ✅ 2. 如果你仍然想用 `process.env` 你可以手动注入环境变量,或者使用 Node.js 的 `.env` 文件配合 `dotenv` 插件来加载变量。但这在 H5 构建中不太推荐,因为不是所有平台都支持。 --- ## 📦 环境变量命名规范(Vite) | 前缀 | 是否暴露给客户端 | 说明 | |------------|------------------|------------------------------| | `VITE_` | ✅ 是 | 推荐用于客户端使用的变量 | | `NODE_ENV` | ✅ 是 | 构建环境(development/production) | | 其他 | ❌ 否 | 不会被暴露给客户端 | --- ## 🧪 示例代码 ### ✅ 修改后的 `package.json`(部分): ```json "h5-test": { "title": "accept-h5-测试环境", "browser": "chrome", "env": { "UNI_PLATFORM": "h5", "VITE_NAME": "TEST" }, "define": { "H5-CRM-TEST": true } } ``` ### ✅ 访问方式: ```ts // 使用 import.meta.env console.log("🚀 ~ import.meta.env.VITE_NAME:", import.meta.env.VITE_NAME); ``` --- ## ✅ 总结 | 问题点 | 解决方案 | |--------|----------| | `process.env.NAME` 获取不到 | 使用 `import.meta.env.VITE_NAME` | | 环境变量未暴露 | 使用 `VITE_` 前缀 | | uni-app 的 `env` 配置 | 只有以特定前缀开头的变量才会被注入 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值