Создание модулей занимает около 8 минут в проекте, созданном с помощью NGX-Rocket и NativeScript - PullRequest
0 голосов
/ 02 июля 2019

Я создал проект, используя ngx-rocket, и несовместимый Nativescript, используя ng add @nativescript/schematics.Все работает, но, как указано в заголовке, генерация модулей, которые я делаю с ng g m the-module-name --flat --routing, занимает около 8 минут.В некоторых случаях я не добавляю маршрутизацию, но она все равно занимает столько же времени.Выполнение этого с ... generate module ... вместо сокращенного способа не имеет значения.

Я наткнулся на этот пост , который они сочли проблемой Nativescript и закрыли.До сих пор я не смог найти ничего более касающегося этого вопроса, чтобы знать, с чего начать.Генерация компонентов выполняется намного быстрее, но все же занимает чуть более минуты, что я также считаю чрезвычайно медленным.

Я использую: Windows 7, NodeJS 10.16.0, NPM 6.9.2, Angular CLI 8.0.2и самая последняя версия Nativescript.

Я получаю предупреждение о том, что используется локальная версия angular cli - 7.3.9, которая, как я предполагаю, происходит из-за установки ngx-rocket, но у меня не было никакойпроблемы с генерацией чего-либо без Nativescript, поэтому я не обращал на это внимания.

Что касается настройки, которую я выбрал в генераторе ngx-rocket, я сделал его простым веб-приложением, чтобы вместо него можно было использовать Nativescriptионный, как он есть в наличии.Поскольку я не могу найти что-либо об этой проблеме, я понятия не имею, что будет достаточно релевантным, чтобы поделиться им с точки зрения кода, поэтому, пожалуйста, дайте мне знать, какие файлы публиковать, и я обновлю его, а пока это только дляради предоставления чего-либо.

package.json внутри основной папки проекта

{
  "name": "app-name",
  "version": "1.0.0",
  "private": true,
  "scripts": {
    "android": "tns run android --bundle",
    "ios": "tns run ios --bundle",
    "mobile": "tns run --bundle",
    "preview": "tns preview --bundle",
    "ng": "ng",
    "build": "npm run env -s && ng build --prod",
    "start": "npm run env -s && ng serve --aot --proxy-config proxy.conf.js",
    "serve:sw": "npm run build -s && npx http-server ./dist -p 4200",
    "lint": "ng lint && stylelint \"src/**/*.scss\" --syntax scss && htmlhint \"src\" --config .htmlhintrc",
    "test": "npm run env -s && ng test",
    "test:ci": "npm run env -s && npm run lint -s && ng test --code-coverage --watch=false",
    "e2e": "npm run env -s && ng e2e",
    "translations:extract": "ngx-translate-extract --input ./src --output ./src/translations/template.json --format=json --clean --sort --marker extract",
    "env": "ngx-scripts env npm_package_version",
    "generate": "ng generate"
  },
  "dependencies": {
    "nativescript-angular": "~7.2.0",
    "nativescript-theme-core": "~1.0.4",
    "reflect-metadata": "~0.1.12",
    "tns-core-modules": "~5.2.0",
    "@angular/animations": "^7.2.3",
    "@angular/common": "^7.2.3",
    "@angular/compiler": "^7.2.3",
    "@angular/core": "^7.2.3",
    "@angular/forms": "^7.2.3",
    "@angular/http": "^7.2.3",
    "@angular/platform-browser": "^7.2.3",
    "@angular/platform-browser-dynamic": "^7.2.3",
    "@angular/router": "^7.2.3",
    "@ngx-translate/core": "^11.0.1",
    "@angular/service-worker": "^7.2.3",
    "@angular/cdk": "^7.0.1",
    "@angular/material": "^7.0.1",
    "@angular/flex-layout": "^7.0.0-beta.24",
    "material-design-icons-iconfont": "^4.0.5",
    "hammerjs": "^2.0.8",
    "angulartics2": "^7.2.4",
    "lodash": "^4.17.11",
    "core-js": "^2.6.3",
    "rxjs": "^6.4.0",
    "zone.js": "~0.8.26"
  },
  "devDependencies": {
    "nativescript-dev-webpack": "^0.20.0",
    "@nativescript/schematics": "~0.4.0",
    "@angular/cli": "~7.3.0",
    "@angular/compiler-cli": "^7.2.3",
    "@angular/language-service": "^7.2.3",
    "@angular-devkit/build-angular": "^0.13.0",
    "@biesbjerg/ngx-translate-extract": "^2.3.4",
    "@ngx-rocket/scripts": "^3.0.0",
    "@types/jasmine": "^3.3.8",
    "@types/jasminewd2": "^2.0.3",
    "@types/node": "^8.10.13",
    "@types/lodash": "^4.14.112",
    "codelyzer": "^5.0.0",
    "htmlhint": "^0.11.0",
    "https-proxy-agent": "^2.0.0",
    "jasmine-core": "~3.4.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~4.1.0",
    "karma-chrome-launcher": "^2.2.0",
    "karma-cli": "~2.0.0",
    "karma-coverage-istanbul-reporter": "^2.0.2",
    "karma-jasmine": "^2.0.1",
    "karma-jasmine-html-reporter": "^1.4.0",
    "karma-junit-reporter": "^1.2.0",
    "protractor": "~5.4.0",
    "puppeteer": "^1.12.0",
    "stylelint": "~10.0.1",
    "stylelint-config-recommended-scss": "~3.3.0",
    "stylelint-config-standard": "~18.3.0",
    "stylelint-scss": "~3.6.0",
    "ts-node": "~8.1.0",
    "tslint": "~5.16.0",
    "typescript": "~3.2.0"
  },
  "nativescript": {
    "id": "org.nativescript.ngsample"
  }
}

nsconfig.json

{
  "appResourcesPath": "App_Resources",
  "appPath": "src",
  "nsext": ".tns",
  "webext": "",
  "shared": true,
  "useLegacyWorkflow": false
}

tsconfig.tns.json

{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "module": "es2015",
    "moduleResolution": "node",
    "baseUrl": "./",
    "paths": {
      "~/*": [
          "src/*"
      ],
      "*": [
        "./node_modules/tns-core-modules/*",
        "./node_modules/*"
      ]
    }
  },
   "exclude": [
    "**/*.tns.ts",
    "**/*.android.ts",
    "**/*.ios.ts",
    "**/*.spec.ts"
  ]
}

файл package.json внутри папки src

{
  "android": {
    "v8Flags": "--expose_gc"
  },
  "main": "main.js",
  "name": "migration-ng",
  "version": "4.1.0"
}

Снова, дайте мне знать, если вам нужно что-то еще, и я обновлю пост, надеюсь, это поможет.

...