uni-app 引用公共模块提示文件查找失败

发布于 1周前 作者 vueper 来自 Uni-App

uni-app 引用公共模块提示文件查找失败

开发环境 版本号 项目创建方式
HbuilderX 3.99

产品分类:HbuilderX
PC开发环境操作系统:Mac
PC开发环境操作系统版本号:macos 10.14.5

示例代码:

{
"name": "mqtt_manage",
"dependencies": {
"uni-id-common": "file:../../../uni_modules/uni-id-common/uniCloud/cloudfunctions/common/uni-id-common",
"uni-config-center": "file:../../../uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center"
},
"extensions": {
"uni-cloud-jql": {}
},
"cloudfunction-config": {
"memorySize": 256,
"timeout": 60,
"path": "/mqtt_manage"
},
"version": "1.0.0",
"main": "index.obj.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": ""
}
//mqtt 设备数据处理
const test = require("uni-id-common")
module.exports = {
_before: function () { // 通用预处理器
},
/**
下面部分省略
然后hbuilder这边提示:文件查找失败:'uni-id-common'
删掉这个require就正常
可是我得用这个require啊
*/

2 回复

我也是这个问题 文件查找失败:‘uni-map-common’ at main.js:18 ```javascript const UniMap = require(‘uni-map-common’);


uni-app 项目中,如果你在引用公共模块时遇到“文件查找失败”的问题,可能是由于路径配置不正确或文件不存在导致的。以下是一些常见的排查和解决方法:


1. 检查文件路径

确保你引用的路径是正确的。uni-app 支持相对路径和绝对路径,建议使用相对路径来避免路径问题。

  • 相对路径./common/utils.js
  • 绝对路径@/common/utils.js@ 表示项目根目录)

例如:

import utils from '@/common/utils.js'; // 绝对路径
import utils from './common/utils.js'; // 相对路径

2. 确保文件存在

检查你引用的文件是否真实存在于指定路径中。如果文件不存在,需要创建或修复路径。


3. 检查文件扩展名

uni-app 中,引用文件时需要明确指定文件扩展名(如 .js.vue 等)。如果省略扩展名,可能会导致文件查找失败。

例如:

import utils from './common/utils.js'; // 正确
import utils from './common/utils'; // 可能失败

4. 检查 alias 配置

如果你使用了自定义的路径别名(如 @),确保在 vue.config.jsvite.config.js 中正确配置了别名。

例如,在 vue.config.js 中:

const path = require('path');

module.exports = {
  configureWebpack: {
    resolve: {
      alias: {
        '@': path.resolve(__dirname, 'src'), // 将 @ 指向 src 目录
      },
    },
  },
};

5. 检查 node_modules 模块

如果你引用的是 node_modules 中的模块,确保模块已正确安装。可以通过以下命令安装缺失的模块:

npm install 模块名

6. 检查 uni-app 版本

某些 uni-app 版本可能存在路径解析的 Bug。尝试更新到最新版本:

npm install -g @vue/cli
npm install -g @dcloudio/uni-cli

7. 清理缓存并重启

有时缓存可能导致路径解析失败。尝试清理缓存并重启项目:

npm cache clean --force
npm run dev

8. 检查 eslinttsconfig 配置

如果你使用了 eslintTypeScript,确保它们的路径配置与项目一致。

例如,在 tsconfig.json 中:

{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"]
    }
  }
}

9. 调试路径问题

如果问题仍然存在,可以在代码中打印路径,检查路径是否正确:

console.log(require.resolve('@/common/utils.js'));
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!