我正在使用 RequireJS、带布局管理器的主干样板、JamJS 来帮助管理包,并且在开发中一切正常,但是当我尝试创建一个包含串联文件的生产版本时,它不起作用。
看起来我的配置中的 shim 可能没有加载。例如,我在控制台中收到的错误是 Uncaught TypeError: Cannot set property 'cookie' of undefined,因此 jQuery 不会作为 jquery.cookie 的依赖项加载。这是我的应用配置:
// Set the require.js configuration for your application.
require.config({
// Initialize the application with the main application file and the JamJS
// generated configuration file.
deps: ["../vendor/jam/require.config", "main"],
paths: {
baseUrl : '/',
config : "config",
// JavaScript folders.
api : "libs/api",
app : "app",
// Libraries.
almond : "../vendor/jam/js/libs/almond",
engagement : "libs/engagement",
environment : "libs/environment",
jquery : "../vendor/jam/jquery/jquery",
jqueryui : "../vendor/js/libs/jquery-ui-1.9.1.custom.min",
"jquery-cookie" : "../vendor/jam/jquery-cookie/jquery.cookie",
chosen : "../vendor/js/libs/jquery.chosen.min",
colorpicker : "../vendor/js/libs/jquery.colorpicker",
bootstrap : "../vendor/js/libs/bootstrap",
jqueryuiwidget : "../vendor/js/libs/jquery.ui.widget",
jstemplates : "../vendor/js/libs/tmpl",
jsloadimage : "../vendor/js/libs/load-image",
jscanvastoblob : "../vendor/js/libs/canvas-to-blob",
iframetransport : "../vendor/js/libs/jquery.iframe-transport",
fileupload : "../vendor/js/libs/jquery.fileupload",
fileuploadfp : "../vendor/js/libs/jquery.fileupload-fp",
fileuploadui : "../vendor/js/libs/jquery.fileupload-ui",
fileuploadlib : "libs/fileupload",
highchartsgraytheme : "../vendor/js/libs/gray",
highchartsexporter : "../vendor/js/libs/exporting",
adpin : "libs/adpin",
val : "../vendor/js/libs/jquery.validate.min",
valmethods : "../vendor/js/libs/additional-methods.min",
advertiser : "libs/advertiser",
messages : "libs/messages",
user : "libs/user",
zeroclipboard : "../vendor/js/libs/zero-clipboard",
jqgrid : "../vendor/js/libs/jquery.jqGrid.min",
jqgridsource : "../vendor/js/libs/grid.locale-en",
reporting : "libs/reporting",
adlift : "libs/adlift",
utilities : "libs/utilities",
qrcode : "../vendor/js/libs/jquery.qrcode.min",
base64 : "../vendor/js/libs/base64",
kinetic : "../vendor/js/libs/kinetic.min",
canvaslib : "libs/canvas",
socialstream : "libs/socialstream",
analytics : "libs/analytics",
classie : "../vendor/js/libs/classie",
classie_modernizr : "../vendor/js/libs/modernizr.custom",
qtip2 : "../vendor/js/libs/jquery.qtip",
sponsored : 'libs/sponsoredcontent',
publisher : 'libs/publisher',
xml : '../vendor/jam/codemirror3/mode/xml/xml'
},
shim: {
"jquery-cookie" : {
deps : ["jquery"]
},
"api" : {
deps : ["environment"]
},
"xml" : {
deps : ["codemirror3"]
},
"classie" : {
deps : ["classie_modernizr"]
},
"jqueryui" : {
deps : ["jquery"]
},
"colorpicker":{
deps : ["jquery"]
},
"jqueryuiwidget" : {
deps : ["jquery"]
},
"jstemplates" : {
deps : ["jquery"]
},
"jsloadimage" : {
deps : ["jquery"]
},
"jscanvastoblob" : {
deps : ["jquery"]
},
"fileupload" : {
deps : ["jquery", "jqueryuiwidget"]
},
"fileuploadfp" : {
deps : ["jquery", "jscanvastoblob", "fileupload"]
},
"fileuploadui" : {
deps : ["jquery", "jstemplates", "jsloadimage", "fileuploadfp", "fileuploadlib"]
},
"qrcode" : {
deps : ["jquery"]
},
"base64" : {
deps : ["jquery"]
},
"highchartsgraytheme" : {
deps : ["highcharts"]
},
"highchartsexporter" : {
deps : ["highcharts"]
},
"utilities" : {
deps : ["lodash", "jquery", "val"]
},
"val" : {
deps : ["jquery"]
},
"valmethods" : {
deps: ["jquery", "val"]
},
"zeroclipboard": {
deps : ["jquery"]
},
"jqgrid" : {
deps : ["jquery", "jqgridsource"]
},
"jqgridsource" : {
deps : ["jquery"]
},
"bootstrap" : {
deps : ["jquery"]
}
}
});
这是我加载 require.js 文件的方式:
<script data-main="/app/config" src="/dist/debug/require.js"></script>
对可能发生的事情有什么想法吗?当我使用 bbb release 时,一切都完成而没有错误来创建该调试文件。
最佳答案
我有一些建议,这听起来可能很愚蠢,但由于我没有亲 body 验文件,猜测是我能做的最好的,所以,确保没有:define(["jquery "], ..... 在您的 jquery-cookie 文件中,因为您应该将它包含在 shim 中或与此定义一起使用,但不能同时包含这两个,因为它可能会导致冲突。
如果它有效,请告诉我添加为什么会发生这种情况的解释,祝你好运。
关于javascript - RequireJS 优化器配置问题,bbb 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18986464/
我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po
尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub
我有一个在Linux服务器上运行的ruby脚本。它不使用rails或任何东西。它基本上是一个命令行ruby脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg
我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search
我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘
由于fast-stemmer的问题,我很难安装我想要的任何rubygem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=
我正在尝试修改当前依赖于定义为activeresource的gem:s.add_dependency"activeresource","~>3.0"为了让gem与Rails4一起工作,我需要扩展依赖关系以与activeresource的版本3或4一起工作。我不想简单地添加以下内容,因为它可能会在以后引起问题:s.add_dependency"activeresource",">=3.0"有没有办法指定可接受版本的列表?~>3.0还是~>4.0? 最佳答案 根据thedocumentation,如果你想要3到4之间的所有版本,你可以这
我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm
当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub
如果我使用ruby版本2.5.1和Rails版本2.3.18会怎样?我有基于rails2.3.18和ruby1.9.2p320构建的rails应用程序,我只想升级ruby的版本,而不是rails,这可能吗?我必须面对哪些挑战? 最佳答案 GitHub维护apublicfork它有针对旧Rails版本的分支,有各种变化,它们一直在运行。有一段时间,他们在较新的Ruby版本上运行较旧的Rails版本,而不是最初支持的版本,因此您可能会发现一些关于需要向后移植的有用提示。不过,他们现在已经有几年没有使用2.3了,所以充其量只能让更