【问题标题】:Why does my console.log statement stop working using webpack and rails为什么我的 console.log 语句停止使用 webpack 和 rails 工作
【发布时间】:2018-11-14 16:20:06
【问题描述】:

我使用 webpack 设置了一个新的 rails 应用程序。 当我运行应用程序时,默认的 console.log 显示良好。

/* eslint no-console:0 */
// This file is automatically compiled by Webpack, along with any other files
// present in this directory. You're encouraged to place your actual application logic in
// a relevant structure within app/javascript and only use these pack files to reference
// that code so it'll be compiled.
//
// To reference this file, add <%= javascript_pack_tag 'application' %> to the appropriate
// layout file, like app/views/layouts/application.html.erb

console.log('Hello World from Webpacker')

现在,如果我只是在这里添加文件:

/app/javascript/packs/application.scss

然后我重启rails,console.log就消失了。

有什么冲突吗?

总而言之,console.log 消息可以在我的新 Rails 应用程序中使用 --wepack。我这样做的那一刻:

  1. 在 /app/javascript/packs 文件夹中添加 application.scss
  2. 在我的布局中引用 application.scss

console.log 消息停止工作。我启动/停止 rails 仍然没有 console.log 消息。

【问题讨论】:

  • 您是否在布局中添加了javascript_pack_tag 'application'
  • 是的,console.log 显示。当我在布局中添加 application.scss 和 stylesheet_pack_tag 时,由于某种原因它消失了。
  • 您找到解决方案了吗?

标签: ruby-on-rails webpack


【解决方案1】:

这确实是我今天遇到的一个问题。

app/javascript/packs 文件夹中创建子文件夹对我有用。

我的目录现在看起来像这样:

  • app/javascript/packs/stylesheets/application.scss
  • app/javascript/packs/application.js

在我的application.haml

  • = javascript_pack_tag 'application'
  • = stylesheet_pack_tag 'stylesheets/application'

如果我将application.scssapplication.js 放在同一目录中,console.log() 将按照您的建议停止工作。

我的猜测是,由于两者都被命名为 application,webpacker 会混淆必须在 javascript_pack_tagstylesheet_pack_tag 上加载哪个文件。

这就是为什么将它移动到不同的目录将解决我的问题。

【讨论】:

  • 谢谢。由于这个 application.scss 问题,我损失了一天。我永远也想不通。我想知道我关注的是哪个博客!
猜你喜欢
  • 2019-05-31
  • 2023-03-26
  • 1970-01-01
  • 2018-09-26
  • 1970-01-01
  • 2018-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多