我只是试图要求我通过yarn安装的一些javascript节点模块。我的印象,以及它对其他一些人有用的是你在application.js中// = require [package_name]。
缩小的dist文件与包名称相同。
模块的树结构是:
clipboard
dist
clipboard.js
clipboard.min.js
composer.json
contributing.md
package.js
package.json
readme.md
webpack.config.js
我没有使用webpack。我收到这个错误:
Sprockets::FileNotFound in PaperWallets#template
couldn't find file 'clipboard' with type 'application/javascript'
Checked in these paths:
/home/me/Desktop/Rails/paperwallet/app/assets/config
/home/me/Desktop/Rails/paperwallet/app/assets/images
/home/me/Desktop/Rails/paperwallet/app/assets/javascripts
/home/me/Desktop/Rails/paperwallet/app/assets/stylesheets
/home/me/.rvm/gems/ruby-2.4.1/gems/coffee-rails-4.2.2/lib/assets/javascripts
/home/me/.rvm/gems/ruby-2.4.1/gems/jquery-rails-4.3.1/vendor/assets/javascripts
/home/me/.rvm/gems/ruby-2.4.1/gems/actioncable-5.1.4/lib/assets/compiled
/home/me/.rvm/gems/ruby-2.4.1/gems/actionview-5.1.4/lib/assets/compiled
/home/me/.rvm/gems/ruby-2.4.1/gems/turbolinks-source-5.0.3/lib/assets/javascripts
/home/me/Desktop/Rails/paperwallet/node_modules
/home/me/.rvm/gems/ruby-2.4.1/gems/bootstrap-sass-3.3.7/assets/stylesheets
/home/me/.rvm/gems/ruby-2.4.1/gems/bootstrap-sass-3.3.7/assets/javascripts
/home/me/.rvm/gems/ruby-2.4.1/gems/bootstrap-sass-3.3.7/assets/fonts
/home/me/.rvm/gems/ruby-2.4.1/gems/bootstrap-sass-3.3.7/assets/images
Extracted source (around line #17):
15: //= require jssha
16: //= require wallet-address-validator
17: //= require clipboard
18: //= require bootstrap-sprockets
19: //= require turbolinks
20: //= require_tree .
我做错了什么?它具有与wallet-address-validator相同的树结构,但我无法在其中使用它?
答案 0 :(得分:1)
为了将来。
阅读Sprockets README(https://github.com/rails/sprockets#sprockets-directives)
在application.js文件中注释了它如何从逻辑路径加载路径。因此,它正在寻找直接从其中一个路径查看的文件。在我的情况下是node_modules文件夹。
但是,它不是直接位于node_modules文件夹中,而是位于node_modules中的clipboard / dist文件夹中。
答案是// =要求clipboard / dist / clipboard
我不确定为什么// =要求wallet-address-validator有效,因为它在node_modules中有相同的wallet-address-validator文件夹,然后是/dist/wallet-address-validator.min.js
如果有人知道我很想知道!
答案 1 :(得分:0)
您是否尝试过要求作为目录?
*= require clipboard