【问题标题】:Adding external .js files to a new Rails 6 web app将外部 .js 文件添加到新的 Rails 6 Web 应用程序
【发布时间】:2020-01-08 23:28:55
【问题描述】:

我创建了一个新的 rails 6 应用程序。在 rails 6 中,javascript 文件夹位于资产之外。我已将现有应用程序中的所有 cssjs 文件复制到这个新应用程序中,application.css,application.js 已更新。 application.css 工作正常,但 application.js 不工作。在编译(bin/webpack) webpack 时显示如下错误 =>

./app/javascript/packs/application.js 中的错误 未找到模块:错误:无法解析 >'/home/app/javascript/packs' 中的 'file_name' @ ./app/javascript/packs/application.js.

application.js 中,我使用require('file_name') 语法添加了那些.js 文件。我将所有.js 文件粘贴到app/javascript/packs 文件夹中。请帮我解决这个问题。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-6


    【解决方案1】:

    app/javascript/packs 文件夹对于 Webpacker 来说是特殊的。它应该只包含“启动”您的页面的 javascript 文件。如果您从单个脚本加载所有内容,这通常是 application.js,但如果您有一个特殊的日历页面/小部件,您也可以有类似 calendar.js 的内容。

    所有其他代码通常位于app/javascript/src 文件夹中。在您的app/javascript/packs/application.js 文件中,您可以然后require('src/file_name') 要求app/javascript/src/file_name.js 的文件

    【讨论】:

    • 我在app/javascript 文件夹中创建了src 文件夹并将所有.js 文件粘贴到其中。 application.js 也以您上面提到的相同方式完成。仍然编译器显示相同的错误。
    • 在 config/webpacker.yaml 中,source_path、source_entry_path 的默认值和开发配置的值是多少?
    • source_path: app/javascript source_entry_path: 包
    • 听起来你已经正确配置了 webpack 并且文件在正确的位置。你能发布你的app/javascript/packs/application.js吗?
    • 现在已修复。我忘了在webpacker.yml 中提供resolved_paths 的路径。现在我在webpacker.yml 中给了resolved_paths: ['app/javascript/src'],它工作正常。非常感谢你帮助我。
    猜你喜欢
    • 2020-01-17
    • 2016-08-10
    • 2021-10-03
    • 2021-09-13
    • 1970-01-01
    • 1970-01-01
    • 2017-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多