我目前正在尝试部署一个相当大的项目,并且在生产中遇到了一些奇怪的 js 问题。在开发中,一切正常。预编译我的资产后(通过 requirejs-rails gem 使用 r.js 编译 javascript),我只剩下一个压缩的 javascript 文件。这里奇怪的是,当我加载网页时,我开始在压缩的 js 文件中收到错误,即使在开发中代码没有错误,即使我的资产压缩没有问题。我美化了压缩文件并使用扩展版本重新加载了页面。大多数这些错误都出现在我没有编写的库中。为什么将所有这些文件与 r.js 一起编译会产生如此多的错误?
这是我的 require.js yml,用于生成 r.js 构建。
paths:
backbone : 'libs/backbone'
marionette : 'libs/backbone.marionette'
jquery : 'libs/jquery'
snap : 'libs/snap'
transit : 'libs/transit'
underscore : 'libs/underscore'
text : 'libs/text'
image : 'libs/image'
cookie : 'libs/jquery.cookie'
notify : 'libs/notify-bar'
leaflet : 'libs/leaflet'
mapbox : "http://api.tiles.mapbox.com/mapbox.js/v1.0.2/mapbox"
landing : 'front_end/home/landing'
logo : 'front_end/home/logo'
faq : 'front_end/home/faq'
about : 'front_end/home/about'
shim:
leaflet:
'deps' : ['jquery']
'exports' : 'Leaflet'
mapbox:
'deps': ['leaflet']
'exports': 'L'
backbone:
'deps' : ['jquery', 'underscore']
'exports' : 'Backbone'
marionette:
'deps' : ['backbone','jquery','underscore']
'exports' : 'Marionette'
handlebars:
'exports' : "Handlebars"
snap:
'deps' : ['jquery']
'exports' : 'Snap'
transit:
'deps' : ['jquery']
'exports' : 'Transit'
underscore:
'exports' : '_'
notify:
'deps' : ['jquery']
'exports' : 'Notify'
jquery:
'exports' : "$"
name: "application"