NativeScript-迁移项目结构

时间:2019-01-16 21:50:49

标签: nativescript angular2-nativescript nativescript-angular

我想将Angular应用程序迁移到{N}代码共享结构。我使用this article入门。您能帮我解决以下问题吗?似乎是一个错误的配置。

执行时:

ng add @nativescript/schematics

我收到以下错误:

success Saved 1 new dependency.
info Direct dependencies
└─ @nativescript/schematics@0.5.0
info All dependencies
└─ @nativescript/schematics@0.5.0
✨  Done in 3.25s.
Installed packages for tooling via yarn.
Two or more projects are using identical roots. Unable to determine project using current working directory. Using default workspace project instead.
    Reading Project Settings
    Project settings:
    {
      "root": "",
      "sourceRoot": "src",
      "mainName": "main",
      "mainPath": "src/main.ts",
      "tsConfig": "src/tsconfig.json",
      "entryModuleClassName": "RootModule",
      "entryModuleImportPath": "./root.module",
      "entryModuleName": "Root",
      "entryModulePath": "/src/root.module.ts",
      "entryComponentClassName": "RootComponent",
      "entryComponentImportPath": "./root.component",
      "entryComponentName": "Root",
      "entryComponentPath": "/src/root.component.ts",
      "indexAppRootTag": "app-root"
    }
    Adding @nativescript/schematics to angular.json
    Adding {N} files
    Adding App_Resources
    Adding NativeScript specific exclusions to .gitignore
    Adding NativeScript run scripts to package.json
    Adding NativeScript Project ID to package.json
    Excluding NativeScript files from web tsconfig
    Adding Sample Shared Component
Two or more projects are using identical roots. Unable to determine project using current working directory. Using default workspace project instead.
Two or more projects are using identical roots. Unable to determine project using current working directory. Using default workspace project instead.
Specified module does not exist

我的@angular软件包是7.1.1

我使用yarn作为包管理器。

这是我的angular.json:

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "my-ns-project": {
      "root": "",
      "sourceRoot": "src",
      "projectType": "application",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "dist",
            "index": "src/index.html",
            "main": "src/main.ts",
            "tsConfig": "src/tsconfig.json",
            "polyfills": "src/polyfills.ts",
            "assets": [
              // assets
            ],
            "styles": [
              // styles
            ],
            "scripts": [
              // scripts
            ]
          },
          "configurations": {
            "hmr": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.hmr.ts"
                }
              ]
            },
            "production": {
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false,
              "extractCss": true,
              "namedChunks": false,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true,
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.prod.ts"
                }
              ]
            }
          }
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "my-ns-project:build"
          },
          "configurations": {
            "hmr": {
              "browserTarget": "my-ns-project:build:hmr"
            },
            "production": {
              "browserTarget": "my-ns-project:build:production"
            }
          }
        },
        "extract-i18n": {
          "builder": "@angular-devkit/build-angular:extract-i18n",
          "options": {
            "browserTarget": "my-ns-project:build"
          }
        },
        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "tsConfig": "src/tsconfig.json",
            "main": "src/test.ts",
            "karmaConfig": "./karma.conf.js",
            "polyfills": "src/polyfills.ts",
            "styles": [
              // styles
            ],
            "scripts": [
              // scripts
            ],
            "assets": [
              // assets
            ]
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": [
              "src/tsconfig.json"
            ],
            "exclude": []
          }
        }
      }
    },
    "my-ns-project-e2e": {
      "root": "",
      "sourceRoot": "",
      "projectType": "application",
      "architect": {
        "e2e": {
          "builder": "@angular-devkit/build-angular:protractor",
          "options": {
            "protractorConfig": "./protractor.conf.js",
            "devServerTarget": "my-ns-project:serve"
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": [
              "e2e/tsconfig.json"
            ],
            "exclude": []
          }
        }
      }
    }
  },
  "defaultProject": "my-ns-project",
  "cli": { "defaultCollection": "@nativescript/schematics" },
  "schematics": {
    "@schematics/angular:component": {
      "prefix": "app",
      "styleext": "css"
    },
    "@schematics/angular:directive": {
      "prefix": "app"
    }
  }
}

我们非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

需要执行以下步骤

  1. 使用-ng new my-app创建新的角度应用程序
  2. 导航到“我的应用”文件夹
  3. 执行命令-ng添加@ nativescript / schematics
  4. 最后执行tns运行android --bundle-这将在模拟器中生成一个自动生成的页面。

我在项目设置中看到了一些差异。

enter image description here