在由生成的文件夹中ng build simple-lib,我看到的结构比其他节点模块更复杂。我看到的是bundles,,esm2015和esm5,而不是index.js导出和导入其他成员public_api.d.ts。
我在esm5和esm2015文件夹中都看到了simple-lib的编译版本。我想知道如何使用esm .js文件以及何时使用esm2015代替esm5。据我了解,esm2015允许使用较小的捆绑包和摇树,但我不确定何时选择使用哪个模块。我希望生成一个可以在节点项目中使用的库,并且希望能帮助您理解是否以及如何实现。谢谢。
$ tree simple-lib/
simple-lib/
??? bundles
? ??? simple-lib.umd.js
? ??? simple-lib.umd.js.map
? ??? simple-lib.umd.min.js
? ??? simple-lib.umd.min.js.map
??? esm2015
? ??? lib
? ? ??? simple-lib.component.js
? ? ??? simple-lib.module.js
? ? ??? simple-lib.service.js
? ??? public_api.js
? ??? simple-lib.js
??? esm5
? ??? lib
? ? ??? simple-lib.component.js
? ? ??? simple-lib.module.js
? ? ??? simple-lib.service.js
? ??? public_api.js
? ??? simple-lib.js
??? …Run Code Online (Sandbox Code Playgroud) 我遇到过一个问题,使用routerLink的div在点击时会以蓝色为边界.我想我错过了一些非常明显的东西,甚至可能是我在浏览器中的配置或者一些错过的CSS样式,所以如果是这样,那么对修复的礼貌解释将会受到赞赏.
我在这里汇总了这个问题的基本演示 - https://github.com/DavidStreid/routingIssue.创建此问题的代码段位于src/app/allGreetings.component.html,我把它放在下面.只需从root,/ routingIssue下载并"npm install; npm start",点击不同的问候语即可查看问题.我在chrome中看到了这个.
<div *ngFor="let greeting of greetings"
class="col-xs-12 col-md-6 col-lg-4">
<div class="paddingDiv"
[routerLink]="greeting.routerLink">
<h3 class="greetingType">{{greeting.title}}</h3>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
编辑:这是来自unitario的建议的更新版本,我仍然看到蓝色边框 -
<a *ngFor="let greeting of greetings"
class="col-xs-12 col-md-6 col-lg-4">
<a class="paddingDiv"
(click)="onSelect(greeting)">
<h3 class="greetingType">{{greeting.title}}</h3>
</a>
</a>
Run Code Online (Sandbox Code Playgroud)
解决方案:来自Shota Papiashvili.轮廓来自焦点选择器.我不想要边框,所以我删除它并添加了另一种焦点风格 -
.paddingDiv:focus {
outline: 0;
background-color: black;
}
Run Code Online (Sandbox Code Playgroud) 我的问题是,在componentWillReceiveProps生命周期方法中比较nextProps和self.props的字段时,lodash对相等性的深入比较和===的严格相等性返回不同的值。
这是我的具体示例-
componentWillReceiveProps(nextProps){
(nextProps.obj === self.props.obj); // false
_.isEqual(nextProps.obj, self.props.obj); // true
typeof(nextProps.obj); // object
typeof(self.props.obj); // object
nextProps.obj; // { k1: "v1", k2: "v2", k3: "v3" }
self.props.obj; // { k1: "v1", k2: "v2", k3: "v3" }
}
Run Code Online (Sandbox Code Playgroud)
有人知道会发生什么吗?
我一直在使用tsc,但是看到angular.io强调了ngc。我想知道这两者是否有优势,还是我应该选择一个。提前致谢。
angular ×3
typescript ×2
angular-cli ×1
compilation ×1
equality ×1
focus ×1
javascript ×1
lodash ×1
ngfor ×1
node-modules ×1
properties ×1
react-redux ×1
reactjs ×1
routerlink ×1
routing ×1
tsc ×1