Angular问题04 模块导入错误???、BrowserModule模块重复加载???、material模块引入后报错
1 模块导入错误
1.1 问题描述
项目启动时报错:元数据错误,错误截图如下:

1.2 问题原因
利用VsCode开发angular项目时利用自动导入出现错误
坑01:VsCode 的自动导入功能比较智能,它会进行精确导入;例如:NgModule 在利用VsCode进行自动导入的结果如下:
import { NgModule } from "@angular/core/src/metadata/ng_module";
但是由于脚手架的原因这样导入会报错:在 @angular/core/src/metadata/ng_module 目录下导入 NgModule 失败,所以就会出现元数据错误
技巧01:将导入目录的覆盖范围变大,例如:导入NgModule时直接从core目录导入
import { NgModule } from "@angular/core";
1.3 问题解决
将导入目录的覆盖范围增大即可
1.4 常用模块所在目录整理
待更新...
2 BrowserModule 模块重复加载
2.1 问题描述
angular项目使用了模块懒加载并且将一些公用模块放到了一个共享模块中进行处理;启动项目后报错:BrowserModule不能重复加载,log截图如下

2.2 问题原因
BrowserModule模块和CommonModule模块都包含了angular项目需要用到的一些节本指令;但是,CommonModule支持多次导入,BrowserModule只能导入一次
2.2 问题解决
将BrowserModule模块中共享模块中移除,直接在跟模块中进行导入即可
2.3 常用模块导入整理
2.3.1 支持多次导入
CommonModule、NgZorroAntdModule
2.3.2 只能导入一次
3 引入material模块报错
3.1 问题描述
3.1.1 引入语句
import { MatButtonModule } from '@angular/material';
3.1.2 错误信息

3.2 问题原因
angular5集成material5后在导入material相关模块时必须按照官方文档那样写全,否则就会报错
import { MatButtonModule } from '@angular/material'; // 之前的写法
import {MatButtonModule} from '@angular/material/button'; // angular5 集成 material5 后的写法
3.3 问题解决
导入material相关模块时按照官方文档进行导入
Angular问题04 模块导入错误???、BrowserModule模块重复加载???、material模块引入后报错的更多相关文章
- 【转】【Python】Python中的__init__.py与模块导入(from import 找不到模块的问题)
python中的Module是比较重要的概念.常见的情况是,事先写好一个.py文 件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的 ...
- python 模块导入详解
本文不讨论 Python 的导入机制(底层实现细节),仅讨论模块与包,以及导入语句相关的概念.通常,导入模块都是使用如下语句: import ... import ... as ... from .. ...
- Python 的 time 模块导入及其方法
时间模块很重要,Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能,讲解一下Python 的 time 模块导入及其方法. 1,time 模块导入 import time; # ...
- Python第十三天 django 1.6 导入模板 定义数据模型 访问数据库 GET和POST方法 SimpleCMDB项目 urllib模块 urllib2模块 httplib模块 django和web服务器整合 wsgi模块 gunicorn模块
Python第十三天 django 1.6 导入模板 定义数据模型 访问数据库 GET和POST方法 SimpleCMDB项目 urllib模块 urllib2模块 ...
- [python]关于在python中模块导入问题追加总结
[背景] 最近在写程序时,我使用的eclipse编辑器运行都没有问题,然后部署到自动化环境上却偏偏报找不到相应模块问题,现在对该问题在之前的贴子上追加总结 原帖子:[python]关于python中模 ...
- 第十八篇 模块与包--time&random模块&模块导入import(os.path.dirname(os.path.abspath(__file__)))
模块 在Python中, 一个.py文件就称为一个模块. 使用模块的好处: 1. 最大的好处就是大大提高了代码的可维护性 2. 编写代码不必从零开始.一个模块编写完毕,就可以被其他地方引用.在写其他程 ...
- day 5 模块导入、常用模块os shutil sys commands subprocess hashlib json pickle zipfile traceback random datetime
os: os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os. ...
- python 模块导入
1. 模块导入: 要使用一个模块,我们必须首先导入该模块.Python使用import语句导入一个模块.例如,导入系统自带的模块 math: import math 你可以认为math就是一个指向已导 ...
- isinstance和issubclass、动态模块导入、异常处理
一.isinstance和issubclass isinstance:判断某个对象是否是某个类的实例,返回True或Flase issubclass:判断某个类是否是某个类的子类. 例如: class ...
随机推荐
- (四)js数组方法一
ES5数组方法: Array.prototype.filter() 对数组元素进行过滤 三个参数:元素值,下标,原数组 返回:过滤后符合条件的数组,不会改变原数组 let arr = [2,4,6 ...
- IntelliJ IDEA下SVN配置及使用
一.在IDEA中使用SVN,首先需要下载安装 TortoiseSVN 插件. 打开 TortoiseSVN 下载地址,选择适合自己的系统类型下载. 接下来,进行安装即可.选择Modify,默认 com ...
- python3 selenium 安装以及验证
1. 相关链接 官方网站:http://www.seleniumhq.org GitHub:https://github.com/SeleniumHQ/selenium/tree/master/py ...
- SQL中遇到多条相同内容只取一条的实现
例如出现BID为1673的两条重复数据,要第一条 select * from(select no=row_number() over(partition by Bid order by getdate ...
- centos6.5 安装sftp
1.创建sftp组 : groupadd sftp 2.创建一个sftp用户,用户名为andy : useradd -g sftp -s /bin/false andy 3.修改密码: pas ...
- 转:django在生成数据库时常常遇到的问题
真的很有用! http://blog.csdn.net/pipisorry/article/details/45727309
- Zombie进程
fork()的作用就是创建一个该进程下的子进程,在其exit 或 exec之前,和他共享代码,以一个父进程的身份,完成以下工作: 1.分配标识符pid和PCB. 2.让子进程复制父进程的环境. 3.给 ...
- GitFlow在客户端Sourcetree的使用
安装 Sourcetree中直接集成了gitflow工具,可以在界面上找到 初始化 首次按下Git Flow按钮后,会弹出如图窗口 初始化会规定几个特殊的分支名称 生产环境分支:master 开发 ...
- 【转】学习使用Jmeter做压力测试(三)--数据库测试
JMeter可以做为Web服务器与浏览器之间的代理网关,以捕获浏览器的请求和Web服务器的响应,这样就可很容易的生成性能测试脚本.根据脚本,JMeter可通过线程组来模拟真实用户对Web服务器做压力测 ...
- java代码====实现按钮点击改变颜色=======
总结: package com.a.b; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event ...