跨工程引用模块报错
=========

#### 问题现象

目前有两个HarmonyOS工程ProjectA和ProjectB，现在需要在ProjectA中引用ProjectB内的模块。

编译运行ProjectA，报错如下：

Error Message: Failed to generate the cache path corresponding to file /path/to/project/CommonSDK/ProjectB\_SDK/oh\_modules/.ohpm/@ohos+hypium@1.0.18/oh\_modules/@ohos/hypium/src/main/Constant.js.
Because the file belongs to a module outside the project and has no project information.

#### 背景知识

Module是HarmonyOS应用的基本功能单元，包含了源代码、资源文件、第三方库及应用清单文件，每一个Module都可以独立进行编译。

#### 问题定位

查看ProjectA配置build-profile.json5中，modules的srcPath字段是否添加了ProjectB的模块。

#### 分析结论

工程不能引工程，可以引用模块。工程级build-profile.json5中modules的srcPath字段下没有引用工程外模块。

#### 修改建议

在工程级build-profile.json5文件[modules](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-hvigor-build-profile-app#section1961794812219)配置中，srcPath字段下配置工程外Module的相对路径来导入ProjectB模块，具体请参考[导入/引用模块](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-add-new-module#section1295434814255)。

示例如下：

在工程级build-profile.json5文件中添加配置参考如下：

{
  "name": "library",
  "srcPath": "../MyApplication2/library"
}

在oh-package.json5中添加依赖参考如下：

"dependencies": {
  "library":"../MyApplication2/library"
},