如何将文本文件导入打字稿?

2024-02-01

作为一个最小的例子,我想将一个文本文件导入打字稿并将其打印到控制台而不使用读取它fs。像这样的东西:

import text from './foo.txt'

console.log(text)

我发现了很多解决方案的例子,例如this one https://stackoverflow.com/a/47705264/311156我创建了一个typings.d.ts包含内容的文件

declare module '*.txt' {
  const content: string;
  export default content;
}

但是当我构建项目时,我仍然看到“错误 TS2307:找不到模块'./foo.txt'”。

我缺少什么?

示例仓库在这里:https://github.com/gferreri/typescript-import-test https://github.com/gferreri/typescript-import-test


[TypeScript][Webpack][CreateReactApp] 将文件导入为文本

不一定是这样txt。它可以是尚未处理的任何文件扩展名webpack.

如果你没有使用create react app,你可以跳过这一步,尽管我建议保留webpack配置修改到一个单独的文件中。

否则,我发现每个步骤对于使其正常工作都是必要的。我删除了所有不必要的垃圾。

每个项目只需执行步骤 1-7 一次。

  1. [终端]进入你的项目目录:cd ./my-app
  2. [终端]安装raw-loader: npm i raw-loader --save-dev
  3. [终端][CreateReactApp=true] 安装react-app-rewired这样你的自定义配置就不会存在于node_modules: npm i react-app-rewired --save-dev
  4. [VS Code][CreateReactApp=true][package.json] 更改start, build and test使用react-app-rewired的脚本:例如,"start": "react-app-rewired start"。如果您发现这太激进,请找到您的webpage.config.js 并对其进行修改。但这会带来被吹走的风险。例如,它无法在往返 GitHub 后继续存在。
  5. [VS代码] 添加global.d.ts项目src
  6. [VS Code][CreateReactApp=true] 添加config-overrides.js到项目根目录my-app
  7. [终端]构建:yarn build
  8. [VS Code] 将文本文件添加到项目中:src/mydir/data.txt
  9. [VS Code][example.ts]导入文本文件:import mytext from './data.txt'
  10. [VS Code][example.ts]正常使用文本变量:myFunc(mytext)
  11. [终端]运行:yarn run

全局.d.ts

declare module '*.txt' {}

配置覆盖.js

module.exports = function override(config, env) {
  const newRule = {
    test: /\.txt$/i,
    loader: 'raw-loader',
    options: {
      esModule: false,
    },
  }
  config.module.rules.find((r) => r.oneOf).oneOf.unshift(newRule)
  return config
}

data.txt

hello world

示例.ts

import myText from './data.txt'

var result = myFund(myText)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将文本文件导入打字稿? 的相关文章

随机推荐

  • 类型错误:stripe.redirectToCheckout 不是 nuxt.js 中的函数

    我正在尝试集成条纹支付网关 我有一个用于前端的 nuxt js 和一个用于后端的 adonis js 我从前端调用 api 到后端来创建checkoutSession并返回sessionID 我能够创造checkoutSession并返回s
  • 如何在matplotlib中的不同图形中使用不同颜色图显示图像?

    我想在不同的图形中使用不同的颜色贴图显示图像 以下代码使用两个不同的窗口但具有相同的颜色图显示图像 import scipy misc from pylab import a scipy misc imread lena jpg figur
  • Objective-c 上的大整数

    任何人都可以提供代码BigInteger http docs oracle com javase 8 docs api java math BigInteger htmlObjective C 中提供 PowMod 函数的实现 我希望现在回
  • 如何在 Ruby 中实现 Pubnub 存在功能

    我想知道如何在 Rails 应用程序中使用 PubNub 实现用户存在 但我没有找到有关如何在服务器端和客户端实现此功能的完整指南 使用 Ruby 和 JavaScript 实现 PubNub 存在 按照这个连接两个 PubNub SDK
  • CGContextSetBaseCTM 无效上下文 0x0

    我目前正在开发一个 Java 应用程序 由于我没有OSX我已经从该应用程序所在的论坛 社区中寻求了一些人的帮助 但是在启动应用程序时会出现此错误OSX Oct 5 15 26 58 macbook pro local java 2384
  • JSTL .tld 文件在哪里?

    我已经下载了jstl 1 1 2 jar http repo1 maven org maven2 jstl jstl 1 1 2 jstl 1 1 2 jar来自 Maven 存储库 我希望 jar 包含标签的 tld 文件 但事实并非如此
  • 对facet_grid 图的所有方面强制启用X 轴文本

    我有同样的问题该用户 https stackoverflow com questions 10913840 force x axis on both graphs in a facet grid when x values are the
  • Cocoa - 从另一个可变参数方法调用可变参数方法(NSString stringWithFormat 调用)

    我有一个问题 NSString strigWithFormat format 因为它返回一个 id 并且我有很多代码将 NSString var 更改为其他个人类型 但编译器不会阻止我在某些地方将 NSString 设置为另一种类型的对象
  • 如何使用自定义编辑器属性从任何地方获取屏幕点击输入?

    TL DR 如何使用矢量实现 Unity 的 屏幕颜色 功能 好吧 对于我想要做的事情来说 标题非常简单 让用户单击一个按钮 然后单击屏幕上的一个位置 将该 世界 位置保存为矢量 这基本上是有效的 但它不会检测到检查器之外的左键单击 禁用统
  • fancybox2 / fancybox 导致页面跳转到顶部

    我已经在开发网站上实现了 fancybox2 当我使用 fancybox 单击链接等 时 整个 html 会移到它后面 并转到顶部 我让它在另一个演示中运行良好 但是当我将相同的代码拖到这个项目时 它会跳到顶部 不仅包含内联 div 的链接
  • 保留值直到 Teradata 中的值发生变化

    Teradata中有一个交易历史表 其中余额仅在有交易时才会更改 数据如下 Cust id Balance Txn dt 123 1000 27MAY2018 123 350 31MAY2018 例如 对于 5 月 27 日的客户 123
  • 使用 StrictMode 检测 Android 上被遗忘的 SQLite 事务?

    执行多个 SQL 语句而不将它们放入一个事务中是一个严重的瓶颈 参见例如http www sqlite org faq html q19 http www sqlite org faq html q19 我还没有彻底检查 SQLite 在
  • Tkinter GUI、I/O 和线程:何时使用队列、何时使用事件?

    我正在使用 TKinter 构建一个 GUI 用于与多通道分析仪的套接字连接 以定期 约 15 秒 接收和绘制数据 约 15 000 000 个值 在接收数据时 我不希望 GUI 冻结 因此我使用多线程进行连接处理 数据接收和绘图操作 正如
  • 使用 scala 使用用户名和密码进行 SSH

    有没有一种方法可以让我们在通过 scala 代码执行 ssh 时提供用户名和密码 这是我现在正在使用的代码 但我不知道如何在 HostConfig 中提供用户和密码 SSH 采用 HostConfigProvide https github
  • 使用命令行删除逗号之间的空格

    如果我有一个像这样的文件 1050505 Some Customer 1 1 Some Order 5 6 Item 1050505 Some Customer 1 1 Some Order 5 6 Item 1050505 Some Cu
  • 创建一个可以运行的DLL

    Windows 有一个名为 rundll32 exe 的实用程序 可以将本机动态链接库作为应用程序执行 假设我有一段代码可以打印 Hello World 到控制台 是否可以用 C 最好是 Visual C 编写一个可以使用 rundll32
  • IIS 7 启用的协议

    我有一台 win 2008r2 服务器 默认网站已启用协议设置为 http net tcp 当在默认网站下创建任何新应用程序时 我希望默认具有相同的启用协议 有人可以建议如何做到这一点吗 目前 当我添加应用程序时 会创建一个仅启用 http
  • 在 python 中使用 opencv 更改图像中某个区域的颜色

    我有一张图片 我想将所有白色像素更改为灰色 但仅限于图像的特定区域 示例图片 我只想更改红色矩形之外的图片 而不更改红色矩形内的图像 我已经有了通用代码 这是其他人的 Stackoverflow 问题的一部分 它改变每个白色像素的颜色 而不
  • 如何将 Span 添加到散景中的图例?

    因此 我创建了一个带有一些线条和一个跨度 或多个跨度 的图形 f figure f line x y1 legend label 1st set f line x y2 legend label 2st set vl Span locati
  • 如何将文本文件导入打字稿?

    作为一个最小的例子 我想将一个文本文件导入打字稿并将其打印到控制台而不使用读取它fs 像这样的东西 import text from foo txt console log text 我发现了很多解决方案的例子 例如this one htt