1

我在我的项目中安装了 masonry 3.0,但出现了一些错误:

GET http://localhost:3000/get-style-property/get-style-property.js 404 (Not Found) require.js:1880
Uncaught Error: Script error for: get-style-property/get-style-property
http://requirejs.org/docs/errors.html#scripterror require.js:163
GET http://localhost:3000/get-size.js 404 (Not Found) require.js:1880
Uncaught Error: Script error for: get-size
http://requirejs.org/docs/errors.html#scripterror require.js:163
GET http://localhost:3000/.js 404 (Not Found) require.js:1880
Uncaught Error: Script error for: 
http://requirejs.org/docs/errors.html#scripterror require.js:163

致力于:

mac 10
bower 0.10
node 0.10.8

我的 bower.json:

{
  "name": "kethervideo",
  "version": "0.0.1",
  "dependencies": {
    "jquery": "~2.0.3",
    "requirejs": "~2.1.5",
    "underscore": "~1.4.4",
    "masonry": "~3.0.3",
    "imagesloaded": "~3.0.1"
  }
}

我的requirejs配置:

requirejs.config({
    paths: {
        jquery: 'bower_components/jquery/jquery'
        , underscore: 'bower_components/underscore/underscore'
        , eventEmitter: 'bower_components/eventEmitter/EventEmitter'
        , eventie: 'bower_components/eventie/eventie'
        , getSize: 'bower_components/get-size/get-size'
        , getStyleProperty: 'bower_components/get-style-property/get-style-property'
        , outlayerItem: 'bower_components/outlayerAmd/item'
        , outlayer: 'bower_components/outlayerAmd/outlayer'
        , masonry: 'bower_components/masonry/masonry'
        , imagesloaded: 'bower_components/imagesloaded/imagesloaded'

    }
    , shim:{
        "underscore": ["jquery"]
        , "masonry": ["jquery"]
        , "imagesloaded": ["jquery"]
    }
});

我不知道它有什么问题,我包括了砌体所需的所有包。

4

4 回答 4

1

除了其他人的所有建议外,我不确定 masonry 在 3.1 版之前是否准备好 requirejs。
见这里:https ://github.com/desandro/masonry/issues/296#issuecomment-21685501

使用 3.1,您可以按照此处的说明进行操作:

http://masonry.desandro.com/appendix.html

requirejs.config({
  paths: {
    eventie: 'bower_components/eventie',
    'doc-ready': 'bower_components/doc-ready',
    eventEmitter: 'bower_components/eventEmitter',
    'get-style-property': 'bower_components/get-style-property',
    'get-size': 'bower_components/get-size',
    'matches-selector': 'bower_components/matches-selector',
    outlayer: 'bower_components/outlayer',
    masonry: 'bower_components/masonry'
  }
});

requirejs( [ 'masonry/masonry' ], function( Masonry ) {
  new Masonry( /*...*/ )
});
于 2013-10-16T15:39:22.483 回答
0

您正在使用 camelCase 路径,在这种情况下它们似乎带有破折号。尝试一下,它应该可以工作。

于 2013-07-21T18:17:57.133 回答
0

问题是路径中键的名称。

如果您检查 getSize.js 的底部,您会注意到它确实如此

define( [ 'get-style-property/get-style-property' ], defineGetSize );

它将检查配置中的别名,如果找不到,则检查相对路径;这就是为什么您会收到 404 错误

将您的配置更改为以下内容应该可以修复 404 错误

requirejs.config({
    paths: {
        jquery: 'bower_components/jquery/jquery'
        , underscore: 'bower_components/underscore/underscore'
        , eventEmitter: 'bower_components/eventEmitter/EventEmitter'
        , eventie: 'bower_components/eventie/eventie'
        , 'get-size/get-size': 'bower_components/get-size/get-size'
        , 'get-style-property/get-style-property': 'bower_components/get-style-property/get-style-property'
        , outlayerItem: 'bower_components/outlayerAmd/item'
        , outlayer: 'bower_components/outlayerAmd/outlayer'
        , masonry: 'bower_components/masonry/masonry'
        , imagesloaded: 'bower_components/imagesloaded/imagesloaded'

    }
    , shim:{
        "underscore": ["jquery"]
        , "masonry": ["jquery"]
        , "imagesloaded": ["jquery"]
    }
});
于 2013-08-01T12:01:09.507 回答
0

将.bowercc文件中的目录路径设置为“app/scripts”并进行凉亭安装

于 2013-10-04T14:48:48.623 回答