当我最近将 Ng 代码库移植到 Nx 12.x 时,我对这条规则感到非常困惑。我希望这篇文章可以帮助其他开始从 Ng 迁移到 Nx 的人。
上面的代码库是一个相当小的单个存储库,现在已在生产中使用。使用 Nx 时,最好遵循 monorepo 的建议,以便将来随着代码库的增长能够使用 monorepo 的优势。(例如,这里我避免过度暴露当前存储库中的代码)。
我将上面的代码库放入my-org/apps/my-small-repo. 通过 linting,我对规则的失败感到困惑@nrwl/nx/enforce-module-boundaries。因此,我尝试了不同的可能性来映射编译器或 linter 或两者都失败的地方src/app。my-org/apps/my-small-repo
我想出了以下解决方案。
就放
"compilerOptions": {
"baseUrl": "src"
},
Run Code Online (Sandbox Code Playgroud)
进入 的根目录apps/my-small-repo/tsconfig.json,并将 中的所有导入替换apps/my-small-repo为以 开头的导入app。
示例DashboardComponent:
import { DashboardComponent } from 'app/components/dashboard/dashboard.component';
Run Code Online (Sandbox Code Playgroud)
该解决方案在 nx 13.x 上进行了测试,但它可能也适用于以前版本的 nx。
放
import { DashboardComponent } from 'app/components/dashboard/dashboard.component';
Run Code Online (Sandbox Code Playgroud)
到您的存储库根paths目录中。然后将规则放入存储库根目录中。compilerOptionstsconfig.base.json"allowCircularSelfDependency": true,@nrwl/nx/enforce-module-boundaries
我们决定"allowCircularSelfDependency": …
虽然普通用户和www-data都可以访问路径/mnt/my-proj/app/../var/sessions/dev,但我收到以下消息:
Warning: session_write_close(): Failed to write session data (user). Please verify that the current setting of session.save_path is correct (/mnt/op-accounting2/app/../var/sessions/dev)
Run Code Online (Sandbox Code Playgroud)
我只在dev中得到上面的消息,但不是在prod中. /mnt/my-proj/app/../var/sessions/dev和/mnt/my-proj/app/../var/sessions/prod有相同的权限:777.
上面的路径安装如下:
# mount -t vboxsf -o uid=1000,gid=33,umask=000 my-proj /mnt/my-proj;
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我已阅读以下帖子,但找不到我的解决方案:
https://github.com/NewEraCracker/suhosin-patches/issues/3
我在Vagrant上的Windows 8.1 Enterprice(64Bit)和ubuntu-xenial 16.04上使用Vagrant 1.8.1.提供者是VirtualBox 5.0.20.设置大多是默认设置.使用具有完全访问权限的VirtualBox GUI共享上面的路径.
亲切的问候,
尤里