uni-app编译小程序报语法错误
uni-app编译小程序报语法错误
项目信息 | 详情 |
---|---|
产品分类 | uniapp/小程序/微信 |
PC开发环境操作系统 | Windows |
PC开发环境操作系统版本号 | Windows11 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 4.57 |
第三方开发者工具版本号 | 没运行起来 |
基础库版本号 | 没运行起来 |
项目创建方式 | HBuilderX |
操作步骤:
export function getProductslist(data) {
if (data.brand_id && Array.isArray(data.brand_id)) {
data = {
...data
}
data.brand_id = data.brand_id.toString()
}
return request.get('product/spu/lst', data, {
noAuth: true
});
}
预期结果:
- 编译通过
实际结果:
- line 78, col 13, Expected ‘}’ to match ‘{’ from line 77 and instead saw ‘…’.
bug描述:
store.js: line 78, col 13, Expected '}' to match '{' from line 77 and instead saw '...'.
我看写的语法是没有问题的
更多关于uni-app编译小程序报语法错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html
12 回复
hello , 我这里尝试运行你提供的代码,并没有复现这个问题,请你提供一下一个可以复现的项目。
更多关于uni-app编译小程序报语法错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这边找到问题了 查看下
这边找到问题了,项目都是我hbuildex新建初始化自带的,如果两个项目一个叫 xxx 一个叫 xxx - 副本 运行 xxx - 副本 就会出现问题
这个还没有复现,你能直接把这个项目发一下我运行看看吗?
同级目录 直接运行 demo - 副本 这个文件
有意思,不去空格,吧demo那个项目的名字改了也能好
回复 xiaoxin1212: 回复 恭喜n发财: Win11直接复制项目 就是这样的名字
能复现,感谢你的反馈,之后会检查一下是什么造成的
这个错误是因为小程序编译器对ES6展开运算符(…)的支持问题导致的。在小程序环境中,部分ES6+语法需要特别注意兼容性。
解决方法有以下两种:
- 使用Object.assign替代展开运算符:
export function getProductslist(data) {
if (data.brand_id && Array.isArray(data.brand_id)) {
data = Object.assign({}, data, {
brand_id: data.brand_id.toString()
});
}
return request.get('product/spu/lst', data, {
noAuth: true
});
}
- 在项目的manifest.json中配置"transformPx"为false,并确保开启了ES6转ES5的选项:
{
"mp-weixin": {
"transformPx": false,
"es6": true,
"es5": true
}
}