You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Would you like to add Angular routing? (y/N) Y
这个会默认生存一个app-routing.module.ts,并且在相关文件注入,这个表示根路由。
Which stylesheet format would you like to use? (Use arrow keys) Sass
CSS (.css )
Sass (.scss) [ http://sass-lang.com ]
Less (.less) [ http://lesscss.org ]
Stylus (.styl) [ http://stylus-lang.com ]
这个是选择默认样式文件的选项,相对支持最好的css预处理器是Sass。
"@schematics/angular:component": {
"type": "object",
"properties": {
"changeDetection": {
"description": "Specifies the change detection strategy.",
"enum": ["Default", "OnPush"],
"type": "string",
"default": "Default",
"alias": "c"
},
"entryComponent": {
"type": "boolean",
"default": false,
"description": "Specifies if the component is an entry component of declaring module."
},
"export": {
"type": "boolean",
"default": false,
"description": "Specifies if declaring module exports the component."
},
"flat": {
"type": "boolean",
"description": "Flag to indicate if a dir is created.",
"default": false
},
"inlineStyle": {
"description": "Specifies if the style will be in the ts file.",
"type": "boolean",
"default": false,
"alias": "s"
},
"inlineTemplate": {
"description": "Specifies if the template will be in the ts file.",
"type": "boolean",
"default": false,
"alias": "t"
},
"module": {
"type": "string",
"description": "Allows specification of the declaring module.",
"alias": "m"
},
"prefix": {
"type": "string",
"format": "html-selector",
"description": "The prefix to apply to generated selectors.",
"alias": "p"
},
"selector": {
"type": "string",
"format": "html-selector",
"description": "The selector to use for the component."
},
"skipImport": {
"type": "boolean",
"description": "Flag to skip the module import.",
"default": false
},
"spec": {
"type": "boolean",
"description": "Specifies if a spec file is generated.",
"default": true
},
"styleext": {
"description": "The file extension to be used for style files.",
"type": "string",
"default": "css"
},
"style": {
"description": "The file extension or preprocessor to use for style files.",
"type": "string",
"default": "css",
"enum": [
"css",
"scss",
"sass",
"less",
"styl"
]
},
"viewEncapsulation": {
"description": "Specifies the view encapsulation strategy.",
"enum": ["Emulated", "Native", "None", "ShadowDom"],
"type": "string",
"alias": "v"
}
}
angular多工程探索.md
开发 Angular 就不能不知道 Angular-CLI 这个超级好用的命令行工具,有了这个工具,原本混沌的开发环境,顿时清晰,许多繁琐的琐事,一个命令就搞定。
Angular-cli
从2015年发布到现在已经经历很多版本,主要有2个大版本变化,一个单工程,一个是多工程。单工程是
1.x
版本,多工程是6.x+
版本,最新版是7.x
。如果使用Angular-cli
开发Angular
应用,当前版本是Angular6
以下的,最好不要直接ng update
,会有很多坑等你,最保险也是最安全的方式是,先升级全局angular-cli
,再用它ng new project
,将之前项目scr
目录内容拷贝进去,修改package.json
和angular.json
(注:1.x里面叫.angular.json
)。安装第三方依赖包,然后运行,修改飚红的错误即可。这个升级最大错误是rxjs
问题。当前版本是Angular6
的,可以直接升级Angular7
。如果你在升级过程中遇到问题,可以联系我寻求帮助。多工程
多工程是
angular-cli 6x
一个核心亮点,这个是借鉴@angular/router
作者写的一个angular-cli
增强工具nrwl,目的多个工程共享一个node_modules
。其实我认为还有2个目的,这也是本文的重点,这里简单描述一下。一个是
angular-cli
随着工程增大,编译越来越慢,这个时候拆模块就很重要的。一个是可以直接发布npm
包,打造自己组件库。准备
环境
node V8 + (可以用nvm做版本管理,最好选用node 10)
创建项目
有2个常用携带选择命令:
Would you like to add Angular routing? (y/N)
Y这个会默认生存一个
app-routing.module.ts
,并且在相关文件注入,这个表示根路由。Which stylesheet format would you like to use? (Use arrow keys)
SassCSS (.css )
Sass (.scss) [ http://sass-lang.com ]
Less (.less) [ http://lesscss.org ]
Stylus (.styl) [ http://stylus-lang.com ]
这个是选择默认样式文件的选项,相对支持最好的css预处理器是
Sass
。选择完成以后自动
npm install
安装package.json
所需要依赖。angular.json简单详解
全局配置
projects配置
默认创建
angular-multiple-projects
项目配置angular-multiple-projects-e2e
项目e2e测试配置application 配置
root
项目根目录,默认就是当前根目录,这个最好不要修改,会影响很多配置和功能sourceRoot
开发源文件地址projectType
项目类型application
和library
prefix
创建组件和指令的前缀 默认组件是app-component
, 默认指令是[appDirective]
schematics
这个配置对应 ng generate 里的各个配置architect
这个配置是整开发,生成配置核心,重点讲解schematics 配置
例如:创建项目选择组件css
组件生成配置:ng generate component
那常用配置有哪些,具体可以参考
./node_modules/@angular/cli/lib/config/schema.json#schematicOptions
这里我们拿组件来举例子:
description
描述enum
可选择的值type
类型format
文件书写格式alias
使用配置可使用的别名default
默认值architect 配置
build
生产发布配置serve
开发环境配置extract-i18n
多语言配置test
单元测试配置lint
代码风格检查配置build 配置
builder
编译脚本serve
开发脚本我们首先运行一下效果再来介绍它们:
等待编译完成运行
如果使用
sass
,编译出错ERROR in ./src/styles.scss
原因找不到
Error: Cannot find module 'node-sass'
。这里主要是
Windows
解决方案:npm start
实际运行的是ng serve相信很多之前都会看到其他人的文章,都会由这样例子,比如编译完成自动打开默认浏览器
在
package.json
里面配置在现在版本里面完全不用这么麻烦了,直接在
options
添加即可。然后直接"start": "ng serve"
即可。这里说几个和我们开发息息相关的重要配置:注意:每次修改配置,需要重启
开发时候本地开发最容易出现端口号被占用,默认是4200
angular-multiple-projects-e2e
项目e2e测试配置使用多工程
The text was updated successfully, but these errors were encountered: