npm.cmd run build:mp-weixin 报错

npm.cmd run build:mp-weixin

报错了

uni-app-xiaotuxian@0.0.0 build:mp-weixin
uni build -p mp-weixin

‘uni’ 不是内部或外部命令,也不是可运行的程序
或批处理文件。

说明你的系统找不到 uni 命令,原因可能是 没有全局安装 @vue/cli-service 或 @dcloudio/uni-app 的 CLI 工具,或者环境变量未正确配置

输入命令

npx uni build -p mp-weixin
确认输入  y

继续报错

TypeError: Cannot assign to read only property 'name' of function 'function factory() {
    factory.Command = factory.Command || require('./command/'+ folder);

    var command =...<omitted>... }'
    at map (C:\Users\admins\AppData\Local\npm-cache\_npx\ce2176121bc60ff1\node_modules\uni\index.js:113:16)
    at Array.map (<anonymous>)
    at Object.<anonymous> (C:\Users\admins\AppData\Local\npm-cache\_npx\ce2176121bc60ff1\node_modules\uni\index.js:92:4)
    at Module._compile (node:internal/modules/cjs/loader:1554:14)
    at Object..js (node:internal/modules/cjs/loader:1706:10)
    at Module.load (node:internal/modules/cjs/loader:1289:32)
    at Function._load (node:internal/modules/cjs/loader:1108:12)
    at TracingChannel.traceSync (node:diagnostics_channel:322:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:220:24)
    at Module.require (node:internal/modules/cjs/loader:1311:12)

Node.js v22.14.0

问题本质
uni@0.0.6 是一个 第三方社区包,并不是 DCloud 官方的 uni-app CLI 工具,它的代码并不兼容新版本的 Node.js,特别是 Node.js v22 中加强了函数属性保护(不能随便改 name)。

解决

npm install
npm install @vue/cli-service -D
npm install @dcloudio/uni-app -D

报错就绕过依赖

npm install --legacy-peer-deps
npm run build:mp-weixin

应该就是构筑完成了,可以打开微信开发者工具访问了

### 解析构建错误并提供解决方案 #### 错误描述 当执行 `npm run build:mp-weixin` 命令时,遇到 `[plugin:uni:mp-inject] Unexpected token (x:x)` 的错误提示。此类型的语法错误通常表明编译器遇到了未预期的标记或结构[^1]。 #### 可能原因分析 该类问题可能由多种因素引起: - **Babel配置不当**:如果 Babel 配置文件 `.babelrc` 或者 Webpack 中关于 Babel 插件的部分设置有误,则可能导致解析过程中出现意外令牌的情况。 - **依赖库版本冲突**:某些情况下,不同版本之间的兼容性问题也可能引发此类异常。特别是对于像 Webpack 这样的核心模块来说更为明显[^4]。 - **代码本身存在语法错误**:源码里可能存在不符合 ECMAScript 规范的地方,在经过 UniApp 编译流程处理之后暴露出这些潜在的问题。 #### 推荐解决方法 ##### 方法一:调整 Babel 设置 检查项目的`.babelrc` 文件以及 Webpack 配置中有关于 JavaScript 转换的相关部分是否正确无误。确保所使用的插件和预设都适用于当前环境下的 Node.js 版本及目标平台的要求。 ##### 方法二:降级 Webpack 版本 尝试通过指定较低版本号来重新安装 Webpack ,以此规避因高版本带来的 peer dependency 冲突风险。具体操作如下所示: ```bash npm uninstall webpack --save-dev npm install webpack@4.29.5 --save-dev --legacy-peer-deps ``` ##### 方法三:清理缓存重试 有时候本地 npm 缓存可能会造成一些莫名其妙的问题,因此建议先清除后再试试看是否会有所改善: ```bash rm -rf node_modules/ rm package-lock.json yarn.lock npm cache clean --force npm install ``` ##### 方法四:验证代码合法性 利用 ESLint 工具扫描整个项目目录内的所有 .js/.vue 文件,找出任何违反语法规则之处,并按照标准修正之。这一步骤有助于排除由于手写代码失误而导致的编译失败情形。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值