在Angular2我会

"outDir": "dist/app"

在Tconfig.json.结果,这件事被传开了.js和. map 文件在/dist/app/文件夹和/或其子文件夹中生成.这一切都很好.

在我的组件中.ts文件我也使用了像这样的html和css引用

@Component({
  selector: 'my-app', 
  templateUrl: 'app/appshell/app.component.html',
  styleUrls: ['app/appshell/app.component.css'],
  ......
}

有没有办法让编译器也为整个项目复制引用的html和css文件?

我在这里查看了https://www.typescriptlang.org/docs/handbook/compiler-options.html个编译器选项,但没有找到任何关于复制html/css文件的内容.

Update:

Root
  |--app       // for ts
  |--dist/app  // for js

tsconfig.json

"outDir": "dist/app"

包裹json

{
  "name": "TestApp",
  "version": "1.0.0",
  "scripts": {
    "start": "tsc && concurrently \"tsc -w\" \"lite-server\" ",
    "html": "find ./app -name '*.html' -type f -exec cp --parents {} ./dist \\;",
    ......
}

它不会复制html文件.不过没有错误.

Update again:

对于那些使用Linux操作系统的人来说,Bernardo的解决方案是可行的.

  "scripts": {
    "html": "XCOPY /S /y .\\app\\*.html .\\dist\\app" }

推荐答案

不,TypeScript编译器只适用于*.ts文件.

你必须复制其他文件,比如*.html和*.css使用复制方法,例如npm脚本中的cp shell命令或grunt-contrib-copy.

使用npm脚本的示例:

"scripts": {
  "html": "find ./app -name '*.html' -type f -exec cp --parents {} ./dist \\;"
}

在壳里跑npm run html.

使用grunt的示例:

copy: {
      html: {
          src: ['**/*.html'],
          dest: 'dist',
          cwd: 'app',
          expand: true,
      }
}

Typescript相关问答推荐

了解TS类型参数列表中的分配

Angular 17 -如何使用新的@if语法在对象中使用Deliverc值

对于使用另一个对象键和值类型的对象使用TS Generics

为什么tsx不判断名称中有"—"的属性?'

状态更新后未触发特定元素的Reaction CSS转换

Typescript泛型类型:按其嵌套属性映射记录列表

如何使用泛型自动推断TS中的类型

对扩展某种类型的属性子集进行操作的函数

路由链接不会导航到指定router-outlet 的延迟加载模块

是否存在类型联合的替代方案,其中包括仅在某些替代方案中存在的可选属性?

TS如何不立即将表达式转换为完全不可变?

使用动态输出类型和泛型可重用接口提取对象属性

如何在React组件中指定forwardRef是可选的?

无法将从服务器接收的JSON对象转换为所需的类型,因此可以分析数据

在组件卸载时try 使用useEffect清除状态时发生冲突.react +打字

自动通用回调

带投掷的收窄类型

在对象数组中设置值

如何让Record中的每个值都有独立的类型?

我是否应该在 Next.js 中的服务器组件中获取秘密数据的所有函数中使用使用服务器?