typescript - 在编译时将文件导入为字符串

标签 typescript webpack

我正在使用Typescript和Webpack。是否可以在编译时将文件导入为字符串,所以我在运行时不需要该文件?



import text from "foo.txt";

const a = text;


将编译为

const a = "contents_of_foo.txt";

最佳答案

Webpack具有装载程序的概念,它负责装载东西。 :-)

这里有一个官方装载机here的列表。有一个raw-loader可以将原始文件作为字符串加载。一旦配置完毕,就可以按照显示的方式使用它(尽管不需要const):

import a from "foo.txt";


它们是上面链接中显示的配置:

// webpack.config.js
module.exports = {
  module: {
    rules: [
      {
        test: /\.txt$/i,
        use: 'raw-loader',
      },
    ],
  },
};


我不知道它会完全编译为您所显示的内容,尤其是因为如果您在多个地方使用import ... "foo.txt",Webpack将避免在文件之间复制文本。但是它将为您处理,因此您不必在运行时显式读取文件。

关于typescript - 在编译时将文件导入为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59877006/

相关文章:

typescript - 如何使用泛型缩小 TypeScript 联合类型

javascript - 重写 Webpack 代理 URL

node.js - typescript + Express : Type 'typeof e' has no compatible call signatures

javascript - 在 Angular 6 中注入(inject) Rollbar

typescript - 说服 TypeScript 编译器过滤后的数组不包含空值

node.js - Sequelize 连接和日志记录问题

typescript - 如何修复未声明的 "error: bundling failed: SyntaxError: { path }\PinCode\index.ts: Exporting local "IPinCodeParams"。"在 React-Native 中?

typescript - 其他文件中的环境模块适用于 tsc 但不适用于 webpack + ts-loader?

webpack - 将 CRA 迁移到 Webpack 5

javascript - 在与 WebPack 捆绑在一起的 Visual Studio 中调试 JavaScript 代码