问题标签 [webpacker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
713 浏览

ruby-on-rails - Webpacker 中的 Fetch API 无法与 Rails + React 一起使用

如何使用 Rails 和 React 获取工作 Fetch API。

设置:来自 Webpacker 的 Rails 5、Sprockets 和 React。

我在这里想要实现的是使用 Fetch API 来获取数据并将其加载到 ReactBootstrapTable API。

这里的主要问题是我无法使用 Fetch API,而且我也不完全确定我将数据传递给表的方式(基本上如何使用反应)

我的 IDE 收到错误/警告

fetch 未定义

来自 Firefox 控制台的另一条错误消息:

上述错误发生在组件中:在ExampleTable中

类型错误:this.states 未定义

我通过 yarn 安装了 Fetch API 并检查了 node_modules/whatwg-fetch 文件夹。如 github API 所述,我导入了“whatwg-fetch”,如上面的代码所示。

我不知道我还应该做什么。我以同样的方式安装了 ReactBoostrapTable 并且成功了。其他一切工作正常。

0 投票
1 回答
443 浏览

ruby-on-rails - 如何将“babel-preset-stage-2”加载器添加到 rails/webpacker/vue 应用程序?

我有一个 rails 5 应用程序,我使用命令 rails webpacker:install:vue 安装了 vue。我只需要添加“babel-preset-stage-2”加载器,但我不知道该怎么做。

我阅读了这个文档,这是我在 config/webpack/loaders/vue.js 中所做的(但它不起作用):

0 投票
0 回答
118 浏览

ruby-on-rails - 无法在 Webpacker 中安装加载程序

我正在尝试按照入门指南安装名为Vux的 npm 包。它基本上是一个用 Vue.js 编写的 UI。该指南说我需要修改一个 Webpack 配置文件以包含 vux 加载程序。一切看起来都很简单,我的配置文件应该是这样的:

我有一个由 Rails/Webpacker 生成的普通 Webpacker 配置文件,在遵循文档之后,它看起来像这样:

您可以在此处的 git hub 上看到该文件

然而,在那个改变之后,Webpack 抛出:

有谁知道我在这里做错了什么?我对 Webpack 没有太多经验,Webpacker 设置也使得从互联网上查找/测试任何解决方案变得更加复杂。

0 投票
3 回答
2636 浏览

javascript - Vue JS 2 on rails 5.1 '您可能需要适当的加载器来处理此文件类型。'

我想将 VueJS 添加到我现有的 rails 应用程序中。

所以我将这些宝石添加到我的 Gemfile 中:

然后我跑了bundle,,,,。rails webpacker:installrails webpacker:install:vueyarn install

它创建了一个javascript文件夹:一个app.vue文件和一个packs文件夹,一个hello_vue.js文件和一个application.js文件。

应用程序/javascript/app.vue

应用程序/javascript/packs/application.js

应用程序/javascript/packs/hello_vue.js

我实际上想开始使用 VueJS 来构建我的 FAQ 页面,所以这是我的 faq.html.erb 文件(只是为了看看 helloworld 示例是否有效):

然后我运行foreman start

我收到以下错误:

如何在 rails 上正确使用 Vue JS?

0 投票
0 回答
1846 浏览

node.js - Webpacker 需要 Node.js >= 6.0.0 并且您使用的是 0.10.30

我正在尝试将 Rails 5 应用程序推送到 Heroku,但由于错误,我的构建失败Webpacker requires Node.js >= 6.0.0 and you are using 0.10.30

运行node -vv9.3.0

宝石

gem 'webpacker', '~> 3.2'

看起来它没有链接到任何版本:

但是:

我错过了什么?我还能在哪里检查?

0 投票
0 回答
273 浏览

ruby-on-rails - 使用带有 Webpacker 的 Asset Pipeline 使用 Rails 5.1 升级 AngularJS

我一直在寻找解决方案,但尚未找到好的策略。

我有一个使用 Rails 资产管道的巨型 AngularJS 1.x 应用程序,我的目标是使用 UpgradeModule 使用 Webpacker 从 Angular 1.x 缓慢迁移到 5.x。

我的问题是...如何使用 sprockets 和资产管道获取旧的 javascript 文件,以便与 Angular 5 的新 Webpack 导入风格配合得很好?

我可以把所有东西都放到 Webpack 中,但这需要大量的重构。有没有人有这方面的经验并有好的解决方案?

0 投票
5 回答
4004 浏览

ruby-on-rails - Angular Dependency Injection - @Injectable() 在测试中失败,而 @Inject() 有效

一般问题

我刚刚开始将 angular 5 的 webpacker 添加到现有的 rails 应用程序中。一切都很好,除了测试中的 DI 出现了一个奇怪的问题。

似乎我的 Angular 组件在使用浏览器创建时才正常工作,但是在使用 Jasmine/Karma 进行测试时,依赖注入器无法识别注入令牌。使用伪代码:

以上在浏览器中有效,但正在Error: Can't resolve all parameters for SomeComponent: (?).测试中。到目前为止,我注意到它适用于所有 @Injectable(),但是一旦我用显式 @Inject 替换每个注入:

一切正常(但显然很麻烦)。有什么明显的原因可能导致这种情况吗?

实际代码

我有一个使用 HttpClient 运行的非常简单的服务:

当我导航到使用所述服务的组件时,它按预期工作。但是,在使用 Jasmine 进行测试时它不起作用:

如上所述,添加显式@Inject(HttpClient)修复测试,但我宁愿避免这种情况。

配置

业力:

配置/webpack/test.js:

配置/webpack/angular-bundle.ts:

tsconfig.json:

环境.js:

以防万一加载器/打字稿:

0 投票
2 回答
652 浏览

ruby-on-rails - Rails Webpacker 内部资产没有代理到 action_controller.asset_host

我正在使用 Rails 5.1 和 Webpacker。一切正常。我在 /app/javascripts/images 中的 react 组件中使用图像,我将它们很好地导入到我的组件中,一切都在开发中。

但是 - 当我部署时,内部图像现在直接从我的站点 url 提供(使用他们的 webpacker 编译路径,但问题是我已经将我的生产环境设置为使用asset_host - 所以 Rails 正确地为我所有其他常用 Rails 添加了前缀图像资产(包括我的 react JS 包) - 所以它们都可以从我的资产主机正确提供。

只是我导入到我的反应组件中的 /app/javascripts/images 中的内部图像 - 它们不是通过asset_host代理的。(它在开发中运行良好——因为我没有在那里使用asset_host)。

我如何让 webpacker 知道我需要在生产环境中通过 assets_host 代理的图像?

0 投票
1 回答
1404 浏览

webpack - `Unexpected token 'const'` webpack 和 babel 未在 WEBPACK VAR INJECTION 部分中转译代码

我们有一个使用 react_on_rails 的 Rails 5 项目,因此使用了 webpack(通过 webpacker gem)和 babel。我们正在使用 capybara webkit 运行测试,并且在使用 webkit_debug javascript 驱动程序时出现此错误。

我们的生产和测试 webpackconst在包的部分都有变量WEBPACK VAR INJECTION,但我认为现代浏览器可以接受letconst现在我们没有注意到。

我们的.babelrc样子:

有任何想法吗?

0 投票
1 回答
87 浏览

ruby-on-rails - mac 上 $PATH 问题上的节点版本

尝试将我的 Rails 5.1 应用程序推送到 Heroku 时遇到问题。rake:assets:precompile失败了

我之前已经在此发布过,但无法解决它,现在正在转圈。我被告知这看起来像是我的 $PATH 的问题,我需要确保它/usr/local/bin在我的 $PATH 中。看起来是这样。我还可以从控制台运行节点和打印。我还可以看到我正在运行的节点版本,所以我现在很茫然。看起来明显错误的一件事是 $PATH 中的“东西”数量。这会导致问题吗?