在现有的Angular应用上添加Nrwl Nx后ng g应用将应用添加到错误目录

时间:2019-08-06 00:41:44

标签: angular angular-cli nrwl nrwl-nx

我有一个使用Angular CLI创建的现有且功能强大的Angular应用。
按照找到的说明here,我将其设置为Nrwl Nx工作区。

我跑了

let configFile = fs.readFileSync("baconConfig.json");
const randAppConfig = JSON.parse(configFile); //variable for security and configuration management

创建了一个ng add @nrwl/schematics apps文件夹,在libs文件夹中有一个apps和一个my-app,都很完美。

然后,按照以下说明here,我跑了

my-app-e2e

期望将在我的ng g app another-app 文件夹中创建一个应用程序,就像已经存在的一样,但是会创建一个apps文件夹(其中包含another-appsrc文件夹)的根级别,与e2eapps相同。

我的libs正确更改了,我可以使用两个应用程序的名称(angular.jsonng s my-app)来提供服务。

这是预期的行为吗?如here所示,原因显然是在使用

创建项目时
ng s another-app

,然后开始添加带有

的应用
create-nx-workspace

所有应用都放在ng g app another-app 文件夹中。

1 个答案:

答案 0 :(得分:0)

我最近遇到了非常相似的事情。我将列出步骤。
 

  • 1。我使用以下命令创建了一个nx工作区
    npm init nx-workspace devops-services-ui  
  • 2。我选择创建一个空的工作区(没有任何项目)  
  • 3。它创建了所需的文件和脚手架。  
  • 4。然后,我打开Angular控制台并选择Generate> Application。我传递了所需的参数值,然后单击“运行”  
  • 5。它创建了应用程序,但在与应用程序平行的自己的文件夹结构下(正如您提到的那样)。  
  • 6。此后,我尝试了很多事情,然后注意到网上的所有示例均以@ nrwl / schematics或@ nrwl / angular开头,而在Nodel_Modules / @ nrwl文件夹下,我只有“工作区”。  
  • 7。因此,我推断,由于它无法找到合适的库,因此将使用@schematics库来创建应用程序。并在不适当的地方创建了它。  
  • 8。然后,我使用npm命令在本地安装@ nrwl / schematics和@ nrwl / angular模块
     npm install @nrwl/schematics
     npm install @nrwl/angular  
  • 9。然后,我重新打开Angular控制台并打开,生成的应用程序现在也列出了新添加的nrwl库。  
  • 10。我以与以前相同的方式运行它,并在正确的文件夹路径中创建了项目。.