Requirejs,jshint和命名约定

时间:2014-12-08 17:01:35

标签: javascript requirejs bower jshint

您是否可以在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等对象。

1 个答案:

答案 0 :(得分:1)

我认为你在询问paths对象中的是否可以包含短划线和句点。是的他们可以。但是,您必须使用引号。所以"jquery.ui.widget": ...带引号,而不是jquery.ui.widget: ...没有引号。 jquery.iframe-transport也是一样:你必须使用引号。所以"jquery.iframe-transport": ...

这是一个JavaScript语法约束,而不是RequireJS强加的约束。