Angular 6 开发踩坑

栏目: JavaScript · 发布时间: 5年前

内容简介:因为缺少依赖包:然后使用引用模板:在app.module,ts中引用
  1. ng new project-name --style=scss --routing 初始化工程文件之后,如果运行 ng serve -o 会出现如下错误:
ERROR in ./src/styles.scss (./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src??embedded!./node_modules/sass-loader/lib/loader.js??ref--14-3!./src/styles.scss)
Module build failed (from ./node_modules/sass-loader/lib/loader.js):
Error: Cannot find module 'node-sass'
    at Function.Module._resolveFilename (module.js:548:15)
    at Function.Module._load (module.js:475:25)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.sassLoader (/home/local/BROCELIA/zhli/WebstormProjects/ng6-project/node_modules/sass-loader/lib/loader.js:46:72)
ℹ 「wdm」: Failed to compile.
复制代码

因为缺少依赖包: node-sass ,但是只用 sudo npm install node-sass 是行不通的,需要使用: sudo npm install --save-dev --unsafe-perm node-sass 才可以正常安装这个依赖包。

  1. 如果使用 sudo 初始化工程文件,文件夹会被锁定,导致 webstorm 无法获取权限无法编辑文本,所以在terminal中使用 sudo chmod 777 ng6-project 来给文件夹赋予所有权限,然后使用 sudo chown -R zhli /home/local/BROCELIA/zhli/WebstormProjects 来给父文件夹赋予权限,此时就可以正常编辑文件了。
  2. Angular 工程中使用 Material icons 时候,先在 src/index.html<head> 中添加依赖:
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Montserrat:300,700" rel="stylesheet">
复制代码

然后使用引用模板: <i class="material-icons">account_circle</i> 即可,如果图片没有刷新,尝试 sudo npm install material-design-icons 然后 ng -serve -o 重启服务器。

  1. 依赖安装指令集合:
// 动画依赖
sudo npm install @angular/animations@latest --save
// Material icons
sudo npm install material-design-icons
复制代码
  1. 创建组件指令集合:
// 创建新组件
ng generate component details
// Request API 服务
ng generate service data
复制代码
  1. Angular 动画:

在app.module,ts中引用 import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; 并在import中添加 BrowserAnimationsModule 。 然后在component中添加依赖 import {trigger, style, transition, animate, keyframes, query, stagger} from '@angular/animations'; 并在@component标识符中定义动画。

animations: [
    trigger('listStagger', [
      transition('* <=> *', [
        query(
          ':enter',
          [
            style({ opacity: 0, transform: 'translateY(-15px)' }),
            stagger(
              '50ms',
              animate(
                '550ms ease-out',
                // animate ('duration delay easing')
                style({ opacity: 1, transform: 'translateY(0px)' })
              )
            )
          ],
          { optional: true }
        ),
        query(':leave', animate('50ms', style({ opacity: 0 })), {
          optional: true
        })
      ])
    ])
复制代码

其中:

  • Trigger用来触发动画
  • transition用来定义状态的转换: open => close , close => open , * => open , * => close , close => * , open => * , void => * , ':enter' , ':leave'
  • style用来定义样式,对应不同的state,也定义在不同的state中。样式的名称要用驼峰法命名: camelCase
state('open', style({
  height: '200px',
  opacity: 1,
  backgroundColor: 'yellow'
})),
复制代码
  • animate就是动画的定义
transition('open => closed', [
    animate('1s')
  ]),
复制代码
This function targets specific HTML elements within a parent component and applies animations to each element individually
<div [@triggerName]="expression">...</div>;
  1. Routing:路由详细教程

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

解密SEO

解密SEO

欧朝晖 / 电子工业出版社 / 2007-05-01 / 49.80元

《解密SEO:搜索引擎优化与网站成功战略》帮助读者建立搜索营销的概念,分析搜索营销中的几种形式的手段,并从认识搜索引擎的原理开始,导出搜索引擎优化的具体解释,向读者引入以搜索引擎优化为宗旨的网站建设的新观念和设计理念。对网站结构优化、单页优化、链接优化等技术进行了详细的解说和示范。读者还可以接触到网站养育的新概念,帮助读者网站发展成熟,达到网络营销的目标。对搜索引擎优化中观念上和技术上常犯的错误,......一起来看看 《解密SEO》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器