标签: angular-cli-v6

如何在角度6中减小vendor.js的大小?

Angular CLI创建vendor.js并且我不知道为什么和它有什么用?对于新应用,此文件的大小约为3.2MB!

此文件是否包含Angular 6 Javascript Source

难道你不认为这是在低速连接上加载互联网的大文件吗?

javascript angular-cli angular angular-cli-v6

8
推荐指数
5
解决办法
8153
查看次数

无法从我的角度库组件导入json

如果你想帮我检查一下发生了什么,这里是Github的存储库:https://github.com/sandrocsimas/ngx-material-palette-picker

我正在尝试创建我的第一个角度库.我使用angular cli命令生成代码:

ng new ngx-material-palette-picker-app
ng generate library ngx-material-palette-picker
Run Code Online (Sandbox Code Playgroud)

NgxMaterialPalettePickerComponent我正在导入json文件的组件中,但构建引发了以下错误:

projects/ngx-material-palette-picker/src/lib/ngx-material-palette-picker.component.ts(2,31): error TS2307: Cannot find module './palettes.json'.
Run Code Online (Sandbox Code Playgroud)

这是我的组成部分:

import {Component, OnInit} from '@angular/core';
import * as palettesJSON from './palettes.json';

@Component({
  selector: 'ngx-mpp',
  template: `,
  styles: []
})
export class NgxMaterialPalettePickerComponent implements OnInit {

  constructor() {

  }
}
Run Code Online (Sandbox Code Playgroud)

我创建了一个types在根路径中调用的目录,并将以下代码添加到index.d.ts:

declare module '*.json' {
  const value: any;
  export default value;
}
Run Code Online (Sandbox Code Playgroud)

我还添加了目录typestypeRoots主tsconfig.json.

"typeRoots": [
  "node_modules/@types",
  "types"
],
Run Code Online (Sandbox Code Playgroud)

该项目在Sublime编辑器中没有显示任何错误,但是当我尝试使用该命令构建项目时,ng build …

angular-cli angular angular-cli-v6

8
推荐指数
1
解决办法
904
查看次数

没有 index.html 的 Angular CLI 构建

我们所有的 Angular 应用程序都在其他应用程序中引导(.jsp加载 javascript 文件并包含<app-root>标签的文件),所以我们不需要index.html**.

但是,当我index从我们的属性中删除angular.json它时,它给了我错误:

数据路径“”应该具有必需的属性“索引”。

如果我将其留空,它确实会构建,但会出现错误:

...
95% 发出 index-html-webpack-pluginEISDIR:对目录的非法操作,读取
错误:EISDIR:对目录的非法操作,读取

我如何在ng build没有 的情况下执行index.html

** 我们的部署过程现在实际上将 复制index.html到我们的 CDN 中,这是不需要的,因为我们根本不想将这些文件提供给最终用户,index.html仅用于开发人员在ng serve

angular-cli angular angular6 angular-cli-v6

8
推荐指数
1
解决办法
5136
查看次数

在构造角度6库时为导出的符号生成的元数据中遇到错误

从我的库中执行'ng build'时出现以下错误.

我目前正在使用Angular 6,但我相信这个错误与版本无关.

/home/rafaelvicio/desenv/my-lib/arquitetura-web/projects/pf-siseg/src/lib/keycloak-service/keycloak.service.ts:13:1:为导出的符号'KeycloakService'生成的元数据中遇到错误:
/home/rafaelvicio/desenv/my-lib/arquitetura-web/projects/pf-siseg/src/lib/keycloak-service/keycloak.service.ts:18 : 12:收集的元数据包含一个错误,将在运行时:只能初始化变量和常量,因为模板编译器需要此变量的值.
{"_ _ symbolic":"错误","消息":"变量未初始化","行":17,"字符":11}错误:/ home/rafaelvicio/desenv/my-lib/arquitetura-web/projects/pf-siseg/src/lib/keycloak-service/keycloak.service.ts:13:1:为导出的符号'KeycloakService'生成的元数据遇到错误:
/home/rafaelvicio/desenv/my-lib/arquitetura-web/projects /pf-siseg/src/lib/keycloak-service/keycloak.service.ts:18:12:收集的元数据包含将在运行时报告的错误:只能初始化变量和常量,因为此变量的值为模板编译器需要的.
{"_ _ symbolic":"错误","消息":"变量未初始化","行":17,"字符":11} at/home/rafaelvicio/desenv/my-lib/arquitetura-web/node_modules/@ angular/compiler-cli/src/metadata/collector.js:707:31位于validateMetadata的Array.forEach()(/ home/rafaelvicio/desenv/my-lib/arquitetura-web/node_modules/@ angular/compiler-cli/src/metadata/collector.js:695:46)在MetadataCollector.getMetadata(/home/rafaelvicio/desenv/my-lib/arquitetura-web/node_modules/@angular/compiler-cli/src/metadata/collector.js:550 :21)在Object.getSourceFileMetadata上的MetadataCache.getMetadata(/home/rafaelvicio/desenv/my-lib/arquitetura-web/node_modules/@angular/compiler-cli/src/transformers/metadata_cache.js:86:41) home.rafaelvicio/desenv/my-lib/arquitetura-web/node_modules/@angular/compiler-cli/src/transformers/compiler_host.js:112:56)at Object.readMetadata(/ home/rafaelvicio/desenv/my-lib TsompilerAotCompiler上的/arquitetura-web/node_modules/@angular/compiler-cli/src/transformers/metadata_reader.js:46:37)StaticSymbolResolver.getModuleMetadata中的TypeCheckHostAdapter.getMetadataFor(/home/rafaelvicio/desenv/my-lib/arquitetura-web/node_modules/@angular/compiler-cli/src/transformers/compiler_host.js:464:38)(/ home/rafaelvicio/desenv/my-lib/arquitetura-web/node_modules/@angular/compiler/src/aot/static_symbol_resolver.js:480:49)在StaticSymbolResolver._createSymbolsOf(/ home/rafaelvicio/desenv/my-lib/arquitetura-web/node_modules) /@angular/compiler/src/aot/static_symbol_resolver.js:268:33)

keycloak.service.ts:

import { Injectable } from '@angular/core';
import { KeycloakLoginOptions } from './keycloak.d';

import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';

import * as Keycloak from './keycloak';

export type KeycloakClient = Keycloak.KeycloakInstance;
type InitOptions = Keycloak.KeycloakInitOptions;

@Injectable()
export class KeycloakService {

    constructor(private http: HttpClient) { }

    static …
Run Code Online (Sandbox Code Playgroud)

angular-cli angular angular-library angular-cli-v6

7
推荐指数
3
解决办法
2638
查看次数

Angular CLI v6:"未知选项:' - bh'"

版本

Angular CLI: 6.0.0
Node: 8.11.1
OS: win32 x64
Angular: 6.0.0
... animations, cli, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, platform-server, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.6.0
@angular-devkit/build-angular     0.6.0
@angular-devkit/build-optimizer   0.6.0
@angular-devkit/core              0.6.0
@angular-devkit/schematics        0.6.0
@angular/cdk                      6.0.1
@angular/flex-layout              6.0.0-beta.15
@angular/material                 6.0.1
@ngtools/webpack                  6.0.0
@schematics/angular               0.6.0
@schematics/update                0.6.0
rxjs                              6.1.0
typescript                        2.7.2
webpack                           4.6.0
Run Code Online (Sandbox Code Playgroud)

脚步

Install Angular v6 / CLI v6

ng build --configuration=stage --bh /XYZ/
Run Code Online (Sandbox Code Playgroud)

错误 未知选项:' - bh'

观察到的行为build -bh CLI选项在v6中不起作用(或者已被删除?),但文档尚未更新以反映使用'base-href'构建的新方法?

angular-cli angular angular-cli-v6

7
推荐指数
1
解决办法
3361
查看次数

角度6 - 在项目之间共享公共代码的最佳实践

如何在项目之间共享代码?

我有两个使用以下创建的应用:

ng generate application app1

ng generate application app2

我想projects/app1/src/app.module.ts从中导入一个模块projects/app2/src/shared/common.module.ts

如果没有创建名为common或3rd的第三个项目,最佳做法是什么?创建一个项目/公共或只是common在这里调用一个文件夹并填充TypeScript文件并导入它们.

angular6 angular-cli-v6

7
推荐指数
2
解决办法
4839
查看次数

为什么 nrwl nx 为每个应用程序创建一个单独的 e2e 项目?

当创建一个新的 nx 工作区(即使用 create-nx-workspace)然后生成一个应用程序(使用 ng g app)时,它会在 apps 文件夹中创建一个 app 文件夹(到目前为止还不错)和另一个 app-e2e 文件夹,也在应用程序文件夹内。在我看来,在 src 文件夹旁边的 app 文件夹中创建一个 e2e 文件夹会更有意义,因为 e2e 测试应该属于该特定应用程序,而且它不会以这种方式使应用程序文件夹混乱。

那么这个约定背后的原因是什么?

非常感谢!

angular-e2e nrwl angular-cli-v6

7
推荐指数
1
解决办法
1535
查看次数

从Angular CLI 6开始,ng build --prod不会缩小/ uglify /删除注释

由于我已将Angular应用程序升级为使用Angular CLI版本6.x,因此将其编译为生产(使用ng build --prod,像往常一样)不会产生缩小的js.这导致非常大的vendor.js尺寸(在我的情况下几乎是10 MB).

如果我打开生成的vendor.js文件,我可以清楚地看到代码没有缩小,并且不会删除注释.

minify typescript angular-cli angular angular-cli-v6

7
推荐指数
1
解决办法
1万
查看次数

ng更新与npm更新之间的区别是什么?

有人请向我解释一下 Angular 6中的ng updatenpm update之间的区别吗?

npm-update angular angular-cli-v6

7
推荐指数
1
解决办法
2339
查看次数

此版本的 CLI 仅兼容 Angular 5.0.0 或更高版本错误

我已经有 4 个版本的 angular 项目。在安装新项目时,不幸的是我安装了 6 个版本的 angular cli。在以 4 版本运行的旧项目中运行 ng serve 命令时,这会向我抛出错误“您的全局 Angular CLI 版本大于您的本地版本”。我再次尝试更新我的 anglar 本地版本。但是现在我收到一个错误此版本的 CLI 仅与 Angular 5.0.0 或更高版本兼容。我的 package.json 如下:

 {
  "name": "authority-client",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular-devkit/core": "^0.7.2",
    "@angular/animations": "^4.2.4",
    "@angular/common": "^4.2.4",
    "@angular/compiler": "^4.2.4",
    "@angular/core": "^4.2.4",
    "@angular/forms": "^4.2.4",
    "@angular/http": "^4.2.4",
    "@angular/platform-browser": "^4.2.4",
    "@angular/platform-browser-dynamic": "^4.2.4",
    "@angular/router": "^4.2.4",
    "@types/file-saver": "^1.3.0",
    "angular2-cookie": …
Run Code Online (Sandbox Code Playgroud)

javascript angular angular-cli-v6

7
推荐指数
1
解决办法
2万
查看次数