- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发我的第一个 Angular 7 库,但是在尝试编译该库时出现此错误。
错误:错误 TS6059:文件 '...environment.ts' 不在 'rootDir' 'my-angular-library\projects\my-library\src' 下。 'rootDir' 应包含所有源文件。
看着我的树,我有:
-projects
-my-library
-src
-src
- environments
import { environment } from "src/environments/environment";
最佳答案
库引用的所有文件都需要包含在 project\my-library\src
中目录(或从另一个模块中提取)以使库正确构建。
我认为您也不希望将环境文件直接包含在您的库中。在构建应用程序期间,该环境文件将在应用程序中被切换出去。但是,使用库,您构建它,然后将其导入到您已经构建的应用程序中,因此该文件不会被适本地切换。
我知道的最佳解决方案是创建一个 Token
在您的库中并从库的 api 中导出。然后在使用该库的应用程序中,您将通过使用该 token 的 DI 容器提供环境。
例如,在您的库中,您将执行以下操作:project\my-library\src\lib\environment-token.ts
import { InjectionToken } from '@angular/core';
export let ENVIRONMENT_TOKEN = new InjectionToken('environment');
project\my-library\src\public_api.ts
export * from './lib/environment-token.ts'
project\my-library\src\lib\component.ts
import {
Component,
Inject
} from '@angular/core';
import {
ENVIRONMENT_TOKEN
} from './environment-token';
@Component({
selector: 'aa-component',
template: `
})
export class Component {
constructor(@Inject(ENVIRONMENT_TOKEN) private environment: any) {
}
}
import {
NgModule
} from '@angular/core';
import {
YOUR_MODULE,
ENVIRONMENT_TOKEN
} from 'YOUR_LIB_NAME';
import {
environment
} from './environments/environment';
import {
AppComponent
} from './app.component.ts'
@NgModule({
declarations: [
AppComponent
],
imports: [
YOUR_MODULE
providers: [
{ provide: ENVIRONMENT_TOKEN, useFactory: () => environment }
],
bootstrap: [AppComponent]
})
export class AppModule {}
关于Angular 库 - 'rootDir' 预计包含所有源文件。 (环境.ts),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53208513/
我收到了这个相当无意义的 tsc 编译错误: error TS6059: File '/Users/alex/codes/interos/teros-cli/src/logging.ts' is no
这是我第一次使用 sanity,我遇到了这个问题,在运行 expo start 时,如果你能帮助我,我将非常感谢 jest-haste-map: Haste module naming collisi
我们正在使用 Visual Studio 2017 并且有两个独立的 Web 项目,它们应该共享一些用 TypeScript 编写的 React 组件。还可以共享 JavaScript 文件和 CSS
我正在学习使用Hbase,并对hbase.rootdir的配置感到困惑。 namenode(active)在服务器hd1上。 namenode(standby)位于服务器hd2上。 问题是: 我必须配
我有一个 Angular CLI 工作区,其中包含两个库项目,foo 和 bar。当我构建两个库中的第二个库 foo 时,构建失败并出现以下错误: error TS6059: File '/code/
$rootDir/gradle目录用于什么(不是.gradle)?在构建期间,默认情况下是否从该目录中读取任何内容?是否有关于该目录中应包含哪些内容的约定? 最佳答案 好吧,gradle目录用于存储G
我有一个具有以下目录结构的项目: . .. core/start.py tests/test_curve.py pytest.ini pytest.ini的内容是: [pytest] testpath
我在 HDFS 上针对 hbase 表中存在的数据运行 map reduce 作业。当我在玩配置时,我观察到了这一点。 conf.set( "hbase.rootdir", "hdfs://" + h
我正在尝试使用如下所示的任务将文件复制到 rootDir... task copyFilesToProjectRoot(type: Copy) { from (fileTree(dir: *s
我在 public 下有一张图片文件夹。 如何在 symfony4 中获取我的图像目录? 在 symfony 3 中,它相当于: $webPath = $this->get('kernel')->ge
我有一个包含一些组件的大型仓库。 \my_repo |--modul1 |--modul2 |--modul3 |--modul4 |--modul5 |--modul6 ... 当我想使用使用另一个
我正在尝试将 TypeScript 与 React Native 结合使用。 这是我的tsconfig.json: { "compilerOptions": { "target
我看到 this问题,但它略有不同,没有答案 我有几个 git 子模块。它们是现有的大型项目,我认为我可以直接重用其中的部分,例如: myproject/ src/ submod1/src
我正在开发我的第一个 Angular 7 库,但是在尝试编译该库时出现此错误。 错误:错误 TS6059:文件 '...environment.ts' 不在 'rootDir' 'my-angular
在我的 Grails 项目中,我使用 elfinder 插件来管理文件和目录。我想要一个动态的根目录,因为我将插件用于不同的文件夹。 目录路径如下: grails.plugin.elfinder.ro
我正在尝试在我的 TypeScript 应用程序中导入 package.json: import packageJson from '../package.json'; 我的 tsconfig.jso
我需要在 Next.js 应用程序的上下文中合并 Cypress 覆盖率报告和 Jest 覆盖率报告。 Jest 会将文件列为 my-app/src/whatever。 Cypress 仅显示 src
tyescript 中的 rootDir 和 baseUrl 有什么区别? 根据 ts 文档 基本网址 Base directory to resolve non-relative module na
我遇到了一个错误,我需要你的帮助。感谢观看这个问题。 我的情况:我正在为我的项目配置 Drone CI 工具,当我运行 时我得到了这个在drone.yml 上进行单元测试 . Validation E
我正在尝试根据 apache 网站上的设置以伪分布式模式运行 HBase,但我无法正确配置 hbase.root 目录。 这是我的配置文件的样子: 在 Hadoop 目录中: conf/core-si
我是一名优秀的程序员,十分优秀!