作者:阿悅11 | 来源:互联网 | 2023-01-28 10:32
我是webpacker和yarn的新手。我使用以下命令成功安装了该软件包:
加纱力矩
编辑2:
这是我的进口
# app/Javascript/packs/application.js
import moment from 'moment/moment'
import 'moment/locale/de-ch'
问题:我不能在旧的JS资产文件中使用“ moment”包
首先起作用,其他不起作用:
# in: app/Javascript/packs/application.js
console.log('Log: ' + moment([2007, 0, 29]).toNow()) #=> Log: in 10 Jahren
# in app/*assets*/Javascripts/application.js
console.log('Log2: ' + moment([2007, 0, 29]).toNow()) #=> Uncaught ReferenceError: moment is not defined
编辑1:
这里是webpacker安装过程的关键点:
在gemfile:gem'webpacker',github:'rails / webpacker'中
将此行添加到assets.rb:Rails.application.config.assets.paths <
在application.html.haml的%head中添加:= Javascript_pack_tag'application'
重新启动Rails服务器并启动webpacker
注意:我将我的应用程序从Rails 4.2升级到5.0,然后又升级到5.1。也许我的应用程序中缺少某些东西
1> Ali Ismayilo..:
我有一个类似的问题,momentjs在整个app / assets / Javascript文件中都被使用,并且它是通过gem包含的(实际上,甚至更糟的是rails-assets)。看起来我们俩都需要时刻对象在全球范围内可用,而不仅仅是在包内可用。因此,以下内容为我解决了该问题,直到我摆脱了app / assets / Javascript文件之前,我都会继续解决。
import moment from 'moment'
window.moment = moment