一直文件查找失败 刚新建的uni-app项目也不行
一直文件查找失败 刚新建的uni-app项目也不行
信息类别 | 详细信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境操作系统 | Mac |
PC开发环境操作系统版本号 | macos 15.3 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 4.66 |
手机系统 | Android |
手机系统版本号 | Android 11 |
手机厂商 | 华为 |
手机机型 | 荣耀play6t |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
示例代码:
<script>
import shp from 'shpjs'
export default {
data() {
return {
title: 'Hello'
}
},
onLoad() {
},
methods: {
}
}
</script>
操作步骤:
- 新建一个vue2项目
- npm i shpjs
- 然后 import shp from ‘shpjs’;
预期结果:
- 导入正常使用
实际结果:
- 报错 文件查找失败:‘but-unzip’ at node_modules/shpjs/lib/unzip.js:11
bug描述:
- mac 新建一个项目
- npm i shpjs
- 然后 import shp from ‘shpjs’;
- 编译直接报错 试了很多次
更多关于一直文件查找失败 刚新建的uni-app项目也不行的实战教程也可以访问 https://www.itying.com/category-93-b0.html
4 回复
这应该是你的 npm 包的问题吧,对应位置有这个文件吗?
更多关于一直文件查找失败 刚新建的uni-app项目也不行的实战教程也可以访问 https://www.itying.com/category-93-b0.html
有检查过npm 同一个版本下 也有用vscode直接创建vue2项目试 在vscode环境下是成功的
这个错误是由于shpjs依赖的but-unzip模块在uni-app环境下无法正确解析导致的。以下是解决方案:
- 问题原因:
- shpjs依赖的but-unzip模块使用了Node.js特有的API,在uni-app的webpack打包环境下无法正常工作
- uni-app的webpack配置默认不支持某些Node.js核心模块
- 解决方案:
- 使用shpjs的CDN版本代替npm安装
- 在index.html中添加:
<script src="https://unpkg.com/shpjs@3.4.2/dist/shp.js"></script>
- 修改使用方式:
// 移除import语句
export default {
methods: {
async handleShpFile() {
const shpData = await window.Shp(buffer); // 直接使用全局Shp对象
}
}
}
- 替代方案: 如果必须使用npm包,可以尝试:
npm install shapefile