繁体   English   中英

在Ruby on Rails应用程序中使用javascript插件

[英]Using javascript plugins in Ruby on Rails application

我正在尝试在Ruby on Rails应用程序中使用Uppy插件(用于上传图像的插件)。

基本功能通过CDN捆绑包起作用,我对此没有任何问题,这很好。 当我需要使用Uppy的其他插件时,会发生我的问题。

导入这些是通过使用require来完成的。 例如:

const AwsS3 = require('@uppy/aws-s3')
const ms = require('ms')

如何将它们包含在Rails项目中?

这个问题的回答建议在Rails项目中使用npm init ,但这似乎非常激进。 有没有更简单的方法来包含JavaScript库(如Rails项目中提到的库)?

如果要模仿CDN的行为,可以将javascript文件添加到vendor/assets/javascripts文件夹。 然后,您可以在application.js中手动要求文件:

//= require uppy-1.2.3.min.js
//= require uppy-aws.js
//= require uppy-stuff.js

这完全避免了NPM。

如果要通过NPM管理事物,则需要:

  1. 在项目的根目录中运行npm init
  2. 将node_modules添加到您的.git_ignore
  3. 对所有需要的软件包运行npm install --save PACKAGE_NAME
  4. Rails.application.config.assets.paths << Rails.root.join('node_modules')到您的应用程序配置中,最有可能在app/config/initializers/assets.rb
  5. 将所需软件包的完整路径添加到application.js,即//= require @uppy/core/src/index.js

仅当软件包具有与发行版一起打包的预构建版本时,此方法才有效。 通常在dist文件夹而不是src文件夹中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM