您是否可以在requirejs路径的命名约定中使用点和连字符?
paths: {
chosen: '../../bower_components/chosen/chosen.jquery',
dateBuilderPlugin: 'vendor/dateBuilder-plugin',
jquery: '../../bower_components/jquery/dist/jquery',
jquery.ui.widget: '../../bower_components/blueimp-file-upload/js/vendor/jquery.ui.widget',
jquery.iframe-transport: '../../bower_components/blueimp-file-upload/js/jquery.iframe-transport',
jqueryFileupload: '../../bower_components/blueimp-file-upload/js/jquery.fileupload',
jqueryFileuploadProcess: '../../bower_components/blueimp-file-upload/js/jquery.fileupload-process',
jqueryFileuploadImage: '../../bower_components/blueimp-file-upload/js/jquery.fileupload-image',
jqueryFileuploadValidate: '../../bower_components/blueimp-file-upload/js/jquery.fileupload-validate',
},
当我使用此命名约定(jquery.iframe-transport
)时,我在jshint中遇到重复键错误。它说jquery已经定义,因为它忽略了-
或.
之后的名称。
我正在使用RequireJS和jshint和bower。命名约定是在插件中设置的,除非我保存文件并手动引用它们,否则会使用bower等对象。
答案 0 :(得分:1)
我认为你在询问paths
对象中的键是否可以包含短划线和句点。是的他们可以。但是,您必须使用引号。所以"jquery.ui.widget": ...
带引号,而不是jquery.ui.widget: ...
没有引号。 jquery.iframe-transport
也是一样:你必须使用引号。所以"jquery.iframe-transport": ...
。
这是一个JavaScript语法约束,而不是RequireJS强加的约束。