首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeScript正在删除我的html导入。

TypeScript正在删除我的html导入。
EN

Stack Overflow用户
提问于 2018-02-16 20:55:31
回答 1查看 155关注 0票数 1

我有过

代码语言:javascript
复制
import MyHtml from "./junkhtml.htm";

在TypeScript文件中进行编译,因为我也有

代码语言:javascript
复制
declare module "*.htm" {
  const value: string;
  export default value;
}

.d.ts文件中。当我对我的项目运行垃圾记录时,我没有发现错误,但是导入被完全删除了。似乎TS认为我的导入只存在于类型声明空间中,并不代表任何真实的东西。我如何指示他们,是的,进口需要保持,以便卷(或webpack)可以处理它的下游?

这是我的tsconfig.json文件

代码语言:javascript
复制
{
  "compilerOptions": {
    "allowUnreachableCode": true,
    "target": "esnext",
    "baseUrl": "./",
    "jsx": "react",
    "allowSyntheticDefaultImports": true,
    "allowJs": true,
    "moduleResolution": "node",
    "module": "esnext",
    "experimentalDecorators": true,
    "lib": ["es2015", "dom"],
    "typeRoots": ["./typings/modules", "./node_modules/@types"]
  },
  "include": ["./**/*.ts", "./**/*.tsx"],
  "exclude": ["node_modules"]
}

这是我用的

代码语言:javascript
复制
const gulp = require("gulp");
const gprint = require("gulp-print").default;
const ts = require("gulp-typescript");
const tsProject = ts.createProject("./tsconfig.json", { noEmitOnError: true });

const dirs = ["applicationRoot", "modules", "util"];

gulp.task("ts", () => {
  var failed = false;
  return gulp
    .src(["./reactStartup.ts", ...dirs.map(f => `./${f}/**/*.ts`), ...dirs.map(f => `./${f}/**/*.tsx`)], { base: "./" })
    .pipe(tsProject())
    .pipe(gprint(filePath => "TypeScript compiled: " + filePath))
    .pipe(gulp.dest(""))
    .on("finish", () => {});
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-16 21:41:10

当未使用导入声明时,TypeScript将删除它们。

如果您使用了导入,那么它应该在文件转储后保持不变:

代码语言:javascript
复制
import MyHtml from "./junkhtml.htm";

// use it somehow
console.log(MyHtml);

虽然在这里不适用,但在其他情况下,某些人可能只想考虑只为副作用而导入,因为这也会在转移之后维持导入:

代码语言:javascript
复制
import "./junkhtml.htm";
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48834715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档