我有一个Angular6应用程序,我正在尝试为其创建一个库.我能够生成一个库项目但是当我为库生成组件时,Angular CLI正在使用.css文件创建它.
我怎样才能创建.scss文件?
以下是我用来创建项目的命令:
ng new example-app --style=scss
rename example-app example
cd example
ng generate library example --prefix=exam --style=scss
ng generate component test --project=example
Run Code Online (Sandbox Code Playgroud)
该命令的--style=scss选项ng generate library没有效果,我仍然在我的测试组件文件夹中获取CSS文件.
在角度CLI中创建模块时,我们可以添加--routing-scope作为参数.
ng g m dashboard --routing-scope something-here --routing
Run Code Online (Sandbox Code Playgroud)
使用此命令时,我收到错误:
Schematic input does not validate against the
Schema: {"routingScope":"dashboard","routing":false,"spec":true,"flat":false,"commonModule":true}
Errors: Data path ".routingScope" should be equal to one of the allowed values.
Run Code Online (Sandbox Code Playgroud)
但是允许的值是多少?
文档中未描述此参数.
我需要创建十个Angular组件,如comp1,comp2,comp3,comp4,...,comp10.所以我需要为每个组件执行相同的命令十次,如ng gc comp1,ng gc comp2等.
是否有任何选项可以使用单个angular-cli命令生成多个角度分量,如ng gc comp1,comp2,comp3.
我正在使用角度最新版本的工作空间概念(> 6).
CLI可以生成一个项目,该项目是一个带有如下命令的库:
ng generate library api
Run Code Online (Sandbox Code Playgroud)
默认应用程序的tsconfig.json是这样的
"paths": {
"env": ["src/environments"],
"api": [
"dist/api"
],
Run Code Online (Sandbox Code Playgroud)
之后我在api库中创建了一个名为ApiService的服务,但是它没有用
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { environment } from 'env';
@Injectable()
export class ApiService {
constructor(private http: HttpClient) {}
getApiUrl(){
console.log("Hello Api Url"+environment.api_url)
}
}
Run Code Online (Sandbox Code Playgroud)
使用命令构建api库时返回错误ng build api:
BUILD ERROR
error TS6059: File 'ROOT_APP_PATH/src/environments/environment.ts'
is not under 'rootDir' 'ROOT_APP_PATH\projects\api\src'.
'rootDir' is expected to contain all source files.
Run Code Online (Sandbox Code Playgroud)
请帮助解决此错误.
提前致谢.
由于我已将Angular应用程序升级为使用Angular CLI版本6.x,因此将其编译为生产(使用ng build --prod,像往常一样)不会产生缩小的js.这导致非常大的vendor.js尺寸(在我的情况下几乎是10 MB).
如果我打开生成的vendor.js文件,我可以清楚地看到代码没有缩小,并且不会删除注释.
我正在Visual Studio 2017中开发一个角度cli v6项目,并注意到为同一文件夹中的一些打字稿文件生成了不需要的.js和.js.map`文件.(我不希望任何生成)
我注意到以angular元素命名的文件夹中的任何文件('services','resolvers','components','directives')似乎都没有创建这些额外的文件.
例如,如果我在components文件夹中创建my-component.component.ts,则不会生成额外的js/js.map文件.
我的问题是双重的:
项目文件结构(显示不需要的文件)
src
|-- app
| |-- components (no generated js/js.map files here)
| | |-- my-component.component.ts
| |
| |-- resolvers (no generated js/js.map files here)
| | |-- my-resolver.resolver.ts
| |
| |-- services (no generated js/js.map files here)
| | |-- my-service.service.ts
| |
| |-- types (has generated js/js.map files)
| | |-- my-type.type.js **dont want this file!**
| | |-- my-type.type.js.map …Run Code Online (Sandbox Code Playgroud) 我知道ng generate application <app-name>仅在角度应用程序文件夹中有效的区别。但是还有其他区别。
如何使用当前的 Angular-cli 版本(Angular 6)安装以前版本的 Angular 项目。
我找到了一个命令,但已弃用:
ng new my_project --ng4
我有一个使用Angular CLI 6(6.08)生成的Angular 6项目.
我使用ng generate library [lib name] --prefix [lib prefix](本文中概述的方法:https://medium.com/@tomsu/how-to-build-a-library-for-angular-apps-4f9b38b0ed11)创建了单独的库.
我使用构建每个库ng build [lib name],然后使用我的应用程序ng serve.
但是,当我在Chrome开发工具中查看源代码时,我的库没有源映射.
我已经尝试使用ng build [lib name] --source-map(如此处指定的:https://github.com/angular/angular-cli/wiki/build)构建每个库,但我认为这仅用于构建该应用程序,而不是库.
有谁知道我做错了有另一种解决方案吗?
我刚刚在教程中遇到了这个命令,我正在努力寻找有关 ngc 命令的任何信息。任何人都可以请说明一下吗?
ng build --prod && ngc