Webpacker/Typescript 无法解析 Rails 资产管道文件

2024-03-31

我正在尝试导入 Rails 资产管道中的文件,但由于某种原因 webpack 找不到它。

这是我的 tsconfig.json:

{
  "compilerOptions": {
    "declaration": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": ["es6", "dom"],
    "module": "es6",
    "moduleResolution": "node",
    "sourceMap": true,
    "target": "es5",
    "baseUrl": ".",
    "paths": {
      "@images/*": ["app/assets/images/*"],
    }
  },
  "exclude": [
    "**/*.spec.ts",
    "node_modules",
    "vendor",
    "public"
  ],
  "compileOnSave": false
}

这是我的 config/webpack/environment.js:

const { environment } = require('@rails/webpacker')
const customConfig = require('./custom');
const typescript =  require('./loaders/typescript')
const fileLoader = require('./loaders/file');

environment.loaders.append('file', fileLoader)
environment.loaders.append('typescript', typescript)

// Merge custom config
environment.config.merge(customConfig);

module.exports = environment

我的配置/webpack/custom.js:

const path = require('path');

module.exports = {
  resolve: {
    alias: {
      '@src': path.resolve(__dirname, '..', '..', 'app/javascript'),
      '@images': path.resolve(__dirname, '..', '..', 'app/assets/images'),
      '@components': '@src/components',
      React: 'react',
      ReactDOM: 'react-dom'
    }
  }
};

import "@images/ajax-circle.gif";在我的一个 typesecript 文件中给出错误 2307(无法解析模块)并且webpack-dev-server无法编译并出现以下错误:

ERROR in /Users/brandoncc/dev/my_app/app/javascript/lib/store_management.ts
[tsl] ERROR in /Users/brandoncc/dev/my_app/app/javascript/lib/store_management.ts(1,24)
      TS2307: Cannot find module '@images/ajax-circle.gif'.
webpack: Failed to compile.

看起来错误又回到打字稿无法解析文件,但我不明白为什么它找不到它。


事实证明,我需要添加 .gif 扩展名的定义。

创造typings.d.ts with:

declare module "*.gif";

修复。

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

Webpacker/Typescript 无法解析 Rails 资产管道文件 的相关文章

随机推荐

  • Outlook 宏在因错误而失败之前运行了 250 次迭代

    描述 我有一个 Outlook 宏 它循环浏览文件夹中选定的电子邮件并将一些信息写入 csv 文件 在失败之前 它一直可以完美地工作到 250 这是一些代码 Open strSaveAsFilename For Append As 1 Co
  • 在同一页面上同时使用 highcharts 和 highstock

    希望有人能帮忙 我尝试在单个页面上使用 highcharts 和 highstock 从 CDN 加载 最初我设置了各种 highcharts 带向下钻取的仪表和条形图 并使用以下所有内容都工作正常
  • HTML div 元素不采用其父级的高度,即使父级具有非零高度

    我有一个相当简单的问题 我有一个包含三个孩子的容器 div 两个 div 和一张桌子 以下是CSS container overflow auto child1 float left width 50px height 100 table1
  • Java - 使用分隔符分隔不同参数来解析文本

    如何使用多个分隔符或单个分隔符来检测和分隔不同的字符串匹配项 例如 我使用Scanner解析以下字符串 MrsMarple new Person MrsMarple age 30 我想分离出这个字符串来按顺序确定何时创建新人以及何时设置他们
  • jQuery(document).width() 不包括可视区域之外的宽度

    jQuery document width 不包括总宽度 可见宽度 当有水平条时可见宽度之外 它等于jQuery window width 我想jQuery window width 是可视区域宽度 jQuery document widt
  • ASP.NET Core 2.1 MVC 使用 XMLHttpRequest 将数据从 JavaScript 发送到 Action 方法

    这与下面类似 但没有 Ajax 我正在使用 JavaScript 和 XMLHttpRequest AJAX post数据到达ASP NET Core 2 1控制器时为空 https stackoverflow com questions
  • 何时使用单元测试? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 旋转呈现视图并锁定呈现视图控制器的方向

    我正在开发仅支持横向方向的iPad应用程序 我希望允许一些呈现的视图控制器支持所有方向 而不改变呈现视图控制器的方向 支持 Xcode 设置中除倒置之外的所有方向 我用来呈现视图控制器的代码 ViewController vc self s
  • 需要在 Mac 上安装 Ruby 2.7.2 的帮助

    我正在尝试在我的 Mac 具有所有更新的最新操作系统 上安装 Ruby 版本 2 7 2 并执行以下操作 brew update brew upgrade rbenv ruby build and then rbenv install 2
  • C++11 虚拟析构函数和移动特殊函数的自动生成

    C 11 中自动生成特殊移动函数 构造函数和赋值运算符 的规则指定不能声明析构函数 逻辑大概是 如果你需要在破坏方面做一些特殊的事情 那么这一举动可能不安全 然而 为了在多态性中正确调用析构函数 有必要将基类的析构函数声明为虚拟 否则通过基
  • AngularJS 的配置阶段

    引导 Angular 应用程序的配置阶段发生了什么 无法想象 现在我对提供商感到困惑 SO 可能是配置阶段的洞察力帮助我理解整个过程 因为提供程序可以在配置阶段注入 Thanks 角度应用程序使用服务 http location ETC 有
  • 申请账户信息不正确

    验证应用程序时出现此错误 重新启动 Xcode 和 Mac 机器后 苹果修复了导致问题的任何原因 问题似乎已经解决 在 OS 10 9 5 上通过 iTunes Producer 3 1 成功交付包
  • hql 中分区的 row_number()

    hql 中分区上的 row number 相当于什么 我在 hql 中有以下查询 select s Companyname p Productname sum od Unitprice od Quantity od Discount as
  • 恢复到 nvm 默认版本

    每当我使用 cd 时 我总是得到 Reverting to nvm default version N A version default gt N A is not yet installed You need to run nvm in
  • 使用 Bash 脚本进行日志轮换

    我有以下问题 我有一个应用程序 它不断地向 stderr 和 stdout 生成输出 该应用程序的输出被捕获在日志文件中 该应用程序被重定向为 gt log txt 我没有任何选项来为此生成适当的日志记录 现在 我有一个 cron 作业 它
  • 音频处理和删除音频的某些部分

    我是语音编码新手 现在我成功地在文件中录制麦克风 并将每 10 秒保存在一个文件中SaveRecordtoFile功能 这样做没有问题 现在我想从记录的数据中删除例如 2 秒 这样我的输出将是 8 秒而不是 10 秒 在randomTime
  • 如何获取当前运行的hadoop作业的名称?

    我需要获取当前正在运行的作业名称列表 但是hadoop job list给我一份 jobID 列表 有没有办法获取正在运行的作业的名称 有没有办法从 jobID 中获取作业名称 我不得不多次执行此操作 因此我想出了以下命令行 您可以将其放入
  • 如何从 Entity Framework 4.3 代码优先模型生成 DDL 脚本?

    我有一个正在尝试部署的项目 并且我正在使用廉价的主机来开始 作为托管包的一部分 我有一个 SQL Server 数据库 但我没有删除或创建权限 我只能使用他们为我创建的数据库 既然如此 我想获取 DDL 以便我可以手动运行它 我知道我可以从
  • 如何使用 JavaScript 函数式编程从对象列表中找到具有最低属性的对象?

    老方法 let min Number MAX VALUE for let item of food let current Problem manhattan distance player item if current gt min m
  • Webpacker/Typescript 无法解析 Rails 资产管道文件

    我正在尝试导入 Rails 资产管道中的文件 但由于某种原因 webpack 找不到它 这是我的 tsconfig json compilerOptions declaration false emitDecoratorMetadata t