Я создал проект, используя 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"
}
Снова, дайте мне знать, если вам нужно что-то еще, и я обновлю пост, надеюсь, это поможет.