首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用时与需求

使用时与需求
EN

Stack Overflow用户
提问于 2013-10-25 07:03:30
回答 1查看 489关注 0票数 0

我无法使用与to一起使用的请求,在运行站点时,它会给出404个有关缺少文件的错误。我正在遵循当自述中的说明

首先,在项目根dir中运行git submodule add https://github.com/cujojs/when

然后在app/public/js/main.js中“用包配置加载程序”

代码语言:javascript
复制
requirejs.config({
  baseUrl: "js",
  packages: [
    {
      name: "when",
      path: "../../../when",
      main: "when"
    }
  ]
});

这就留下了以下目录布局:

代码语言:javascript
复制
project-root/
  app/
    public/
      js/
        main.js
        helpers/
          myhelper.js
  when/

当has具有以下内容时所需的文件(myhelper.js):

代码语言:javascript
复制
define(['when'], function(When) {

这会产生错误。

GET http://localhost:4580/js/when/when.js 404 (Not Found)

我尝试将js文件从project-root/when复制到app/public/js/libs/when中。

代码语言:javascript
复制
project/
  app/
    public/
      js/
        main.js
        helpers/
          myhelper.js
        libs/
          when/

并使用以下代码:

代码语言:javascript
复制
//main.js
requirejs.config({
  baseUrl: "js",
  packages: [
    {
      name: "when",
      path: "libs/when",
      main: "when"
    }
  ]
});

//myhelper.js
define(['when'], function(When) {

产生相同的错误:

GET http://localhost:4580/js/when/when.js 404 (Not Found)

似乎myhelper.js中的任何内容都忽略了packages声明--我不确定是否还有其他我应该做的事情?当to指令没有说的时候。

我试过这个:

代码语言:javascript
复制
//main.js
requirejs.config({
  baseUrl: "js",
  packages: [
    {
      name: "when",
      path: "libs/when",
      main: "when"
    }
  ],
  paths: {
    w: "./libs/when"
  }
});

//myhelper.js
define(['w/when'], function(When) {

这不会产生错误--尽管我还没有尝试用它来使用库,但是…

Requirejs的版本是v2.1.8,我读过有关软件包的API说明,但我一点也不明智。当is指令在这里不起作用是什么意思?我也尝试过其他设置组合,比如组合pathspackages选项,但都没有效果。

这不是Node或javascript唯一的项目,因此目录的剧烈移动不是一个选项。

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-25 07:17:36

尝试使用paths属性requirejs.config:如果将when.js置于js/libs/when/when.js下,则可以尝试:

代码语言:javascript
复制
    requirejs.config({
        paths: {
            'when': 'libs/when/when'
        }
    });
define(['when'], function(When) {...

如果您的baseUrl标记包含它,甚至不需要它,但是如果您想要的话,可以指定它。

这将解决库加载问题,但如果when.js不支持AMD,则可以将shim添加到配置中:

代码语言:javascript
复制
shim: {
    'when': {
        exports: 'When'
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19583200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档