我有一个导出一组Web组件的库。该捆绑包是使用汇总创建的,并且所有导出均已就位,例如:
export { Input, Button };
whereInput
和Button
是捆绑包前面定义的es6类。
我已经将它作为npm软件包发布到一个私有的npm仓库中,现在正尝试导入到另一个有角度的应用程序中,
import { Input, Button } from '../../node_modules/@company/web-components';
我也尝试将它们导入为,import '../../node_modules/@company/web-components';
但是webpack似乎对导入进行了握手,因为它看不到它的使用位置。但是,有趣的是,当库作为iife
Webpack导出时,不会对其进行树状摇动。
有没有一种方法可以告诉angular的webpack包含特定的导入内容,而不管代码中是否引用了它?
显然,有一种方法可以node_modules
通过将以下行添加到来包含es6模块angular.json
:
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"projects": {
"project-name": {
"architect": {
"build": {
"options": {
"assets": [
{
"glob": "release.js",
"input": "./node_modules/@company/web-components/dist/",
"output": "."
}
],
然后我们可以将其包含在index.html
典型的模块导入中:
<script type="module" src="release.js"></script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句