问题标签 [ng-packagr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ng-packagr - 相对@imports 破坏 ng-packagr 并出现错误“`file` 的返回值必须是字符串”
我们最近将 Angular Dependencies 更新为 6,现在 ng-packagr 因列出的错误而中断。使用 ng serve 和 ng build,导入策略...
工作正常。当 ng packagr 到达 Rendering Stylesheets 部分时,它会因上述错误而中断。这是我的 ng-package.json
有没有我错过的选项?
typescript - NPM 包未在 Angular 生产应用程序中导入
目标
我正在尝试将 rxjs 的 typescript 模块增强作为 npm 包提供,以便在 Angular 项目中使用。
问题
在 Angular 应用程序中使用包在本地开发模式下可以正常工作,但是一旦为生产而构建应用程序,包就不会被导入到最终的 dist 中。
细节
主要是提供了一种新方法:Observable.safeSubscribe()
/li>
(完整的源代码:ngx-safe-subscribe.ts)该软件包是使用ng-packagr 构建的
导入并在 Angular 项目中使用后,一切正常:(
/li>
此处的完整演示:demo)一旦为生产而构建,包就不会导入到最终的 dist 中:
/li>我最后的尝试是用最新的东西做的
/li>附带说明一下,在 Visual Studio Code 中使用命名的导入样式会产生以下结果:
/li>
很难判断问题是否来自 typescript、angular-cli、webpack 甚至 ng-packagr 无法识别扩充并将其正确导入最终 dist。
所以任何帮助将非常非常感激!
谢谢。
angular - 由于 dist 文件夹中的文件丢失,ng-package 捆绑失败
我分叉了一个angular lib,在 projects/keycloak-angular/src/lib/core 中添加了一个新的子文件夹,其中有一个导出命名空间的 .js 和 .d.ts 文件。它被导入两个现有文件以扩展功能。
运行时npm run build
出现以下错误:
错误正是它所说的:它无法解析导入,因为新添加的文件没有复制到 dist 文件夹。Vscode "intellisense" 可以很好地解析 src 文件夹中的导入。
我检查了 tsconfig、angular config 和 ng-package config 以尝试确定是否以某种方式指定了现有文件以供包含,但我找不到任何东西。我还发现这个问题听起来与我的非常相似,并且可能有关联。
为什么我的添加在构建/打包阶段被遗漏了?
angular - Angular 库 - ng-packagr 正在导出私有组件/服务/管道/类
我正在创建一个非常大的组件、服务等库,因此我们的组织可以只关注域代码。
在这个库中,我有一些组件、服务等必须保密,因为它们存在于我在库中控制的特定上下文中。
当我构建 lib 时,我看到许多来自 ng-packagr 的导出已添加到我的 lib.d.ts 中:
来自的一切export * from './public_api
都是我的公共 API。
所有其他导出都来自 ng-packagr,我想对我的最终用户隐藏它,因为他们仍然可以使用它们(尽管有丑陋的字符,但他们可以使用它们)。
编辑
我的 public_api.ts 的内容
angular - ng packagr 自动生成的路径问题
我正在创建要在父应用程序中使用的独立 ng-libraries。这些库中的每一个都有多个正在使用的模型文件。但是ng-packagr似乎弄乱了模型文件路径。
例如
而正确的路径应该是完整的绝对路径
出口声明 const selectState: 进口
angular - Angular 6 - angular.json - 通过重命名复制资产
我正在尝试在 ng build 的资产副本期间重命名文件
这是我用过的angular.json
:
不是创建文件dist/favicon.png
,ng build
而是创建一个dist/favicon.png/favicon-v1.png
.
它似乎拒绝重命名文件 - 它总是创建一个具有我想要使用的名称的文件夹,favicon.png
然后将原始文件放入其中。
这是预期的行为吗?favicon-v1.png
除了favicong.png
在源代码管理中重命名文件之外还有其他解决方法吗?
我在用:
更新:在 Angular 5 中,类似的代码在 angular-cli.json 中运行良好。
angular - 运行“ng-packagr -p ng-package.json”时出错
我正在尝试使用ng-packagr
. 但是当我运行这个命令时:ng-packagr -p ng-package.json
我得到这个错误:
cannot find module '@angular/compiler-cli'
我检查了一切。我有所有模块的最新版本@angular/cli
和node
. 我也安装了tsickle
包。但仍然收到此错误并且无法创建包。你能建议任何其他解决方案吗?
angular - webpack 动态移除模块
我正在开发一个库,我们想在其中使用 2 个模块中的一个模块。应用程序的配置将决定使用哪个模块。我试图动态加载其中一个模块,但没有任何效果。所以,如果可能的话,我试图在开始时将它们都导入并动态删除一个。是否可以从库中动态删除模块?或者我可以在库中动态添加一个模块吗?
我正在开发 Angular 7,ng-packager 正在创建库,webpack 是模块捆绑器,应用程序将使用 AOT 编译运行。
css - 有没有办法使用 ng-packagr 和 Angular 6 来提取 css?
我目前正在开发一个 Angular 6 项目,其中包含使用 ng-packagr 构建和发布的多个库。其中一个库是组件库。因此,它包含多个组件,每个组件都有自己的 scss。作为使用 ng-packagr 构建此库的一部分,html 和 scss 被内联(并转译为 css),这是正常的和预期的行为。
我知道,在使用构建标准 Angular 应用程序时,@angular-devkit/build-angular:browser
有一个标志extractCss
将创建一个 styles.css 文件,作为包含所有样式的构建应用程序的一部分。
有没有办法使用 ng-packagr 做到这一点?
ng-package.json:
在 angular.json 中为我的库构建配置: