原来如此,谢谢你们解决我的大疑惑。自从 Rails 与前端结合得越来越紧密了,我发现我变得不自信了。js 真是来事。
我的第一个问题是:为什么import "bootstrap"
最后它能找到 Rails 工程中的 node_modules/bootstrap/dist/js/bootstrap.js
文件?因为我自己使用 npm 中的某一个包时,都是展开 node_modules 中的包的目录的结构,了解清楚,然后去 require 相应的文件。所以我看到 import "bootstrap"
这样简写才有这个疑惑。
正好我也在尝试 Rails6. 有两个关于前端的问题没有搞明白,也没有找到相关的文档说明。
app/javascript/packs/application.js
......
import "bootstrap"
这个是怎么样找到 node_modules 中的对应 JS 文件。 我自己是写成这样的:require("bootstrap/dist/js/bootstrap"),所以想知道 /dist/js 是约定的吗?
第二个是在 scss 文件里 @import "~bootstrap/scss/bootstrap";
这个 ~符号是干什么的?哪里有相关说明。