问题标签 [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.
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 并且成功了。其他一切工作正常。
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 中所做的(但它不起作用):
javascript - Vue JS 2 on rails 5.1 '您可能需要适当的加载器来处理此文件类型。'
我想将 VueJS 添加到我现有的 rails 应用程序中。
所以我将这些宝石添加到我的 Gemfile 中:
然后我跑了bundle
,,,,。rails webpacker:install
rails webpacker:install:vue
yarn 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?
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 -v
给v9.3.0
宝石
gem 'webpacker', '~> 3.2'
看起来它没有链接到任何版本:
但是:
我错过了什么?我还能在哪里检查?
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 中,但这需要大量的重构。有没有人有这方面的经验并有好的解决方案?
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:
以防万一加载器/打字稿:
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 代理的图像?
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
,但我认为现代浏览器可以接受let
,const
现在我们没有注意到。
我们的.babelrc
样子:
有任何想法吗?
ruby-on-rails - mac 上 $PATH 问题上的节点版本
尝试将我的 Rails 5.1 应用程序推送到 Heroku 时遇到问题。rake:assets:precompile
失败了
我之前已经在此发布过,但无法解决它,现在正在转圈。我被告知这看起来像是我的 $PATH 的问题,我需要确保它/usr/local/bin
在我的 $PATH 中。看起来是这样。我还可以从控制台运行节点和打印。我还可以看到我正在运行的节点版本,所以我现在很茫然。看起来明显错误的一件事是 $PATH 中的“东西”数量。这会导致问题吗?