让我们在一个空的Rails 6应用程序中浏览此目录的内容。
▶ tree app/javascript
app/javascript
├── channels
│ ├── consumer.js
│ └── index.js
└── packs
└── application.js
2 directories, 3 files
对于我们来说,packs目录非常重要,让我们看看它包含了什么。
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
Webpack有一个入口点的概念,即当它开始编译JavaScript代码时首先要查找的文件。
Webpacker gem创建了一个应用程序包,位于app/javascript/packs下的application.js文件。如果您还记得assets pipeline,该文件相当于app/assets/javascripts/application.js文件。
简单示例
如何将JavaScript添加到Ruby on Rails(将JavaScript作为模块添加):
在Javascript路径中创建文件夹 app/javascript,例如:'post'
在文件夹中添加JavaScript文件,例如:index.js
在app/javascript/application.js中添加'post'模块 -> require('post')
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require("post")
让我们在添加'post'模块后浏览Rails 6应用程序中此目录的内容
▶ tree app/javascript
app/javascript
├── channels
│ ├── consumer.js
│ └── index.js
└── packs
| └── application.js
|ـــ post
|__ index.js
这是使用Webpack来模仿传统Rails风格的简单方法。