javascript - typescript如何解析@Angular/core/testing的导入以及Angular Core如何打包?

标签 javascript angular npm

对于 import {Injectable} from '@angular/core'; 我想 package.json 的 module 属性指向导出 injectable 的文件? 对于格式 @angular/core/testing@angular/core 中是否有一个测试文件夹,其中包含另一个带有模块属性的 package.json指向包含 testing 子模块导出的导出的文件?

最佳答案

你正在做某件事。查看@angular模块的源代码,您确实会发现一个名为testing的目录,它有自己的package.json

大多数 TypeScript 库使用 Barrel import/export 模式来“美化”您的导入路径。

path/to/nested/files/injectable.ts

export function Injectable() {
    ...
}

dist/index.js - 由 package.json main 属性公开的文件。

export { Injectable } from 'path/to/nested/files/injectable.ts'

这将使您能够

import { Injectable } from '@angular/core'

而不是

import { Injectable } from '@angular/core/path/to/nested/files/injectable.ts'

通过分离模块,例如来自 testingcore,您将从 Tree-Shaking 中受益,因为您只从库而不是整个包中导入所需的内容。

关于javascript - typescript如何解析@Angular/core/testing的导入以及Angular Core如何打包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44320241/

相关文章:

javascript - Map、findIndex 和 filter 组合

javascript - 如何以 Angular 获取复选框值?

html - CSS 将第二个文本与可能长或短的第一个文本对齐

angular - 如何对 IntervalObservable 进行单元测试

javascript - `.babelrc` 文件在嵌套的node_modules文件夹中找不到预设

javascript - 如何终止 npm 子进程

npm - 当我在 package.json 中定义了 publishConfig 时,是否需要在 .npmrc 文件中定义注册表?

javascript - JS中的文本函数第一个参数(_)

javascript - 如何在javascript中调整原始数据的大小?

javascript - Node JS 中间件/路由数据传输