4

我的情况

我正在为我正在考虑编写的 Web 应用程序检查 spin.js。我已经阅读了所有文档并浏览了所有示例。现在我正在尝试在我自己的 Windows 7 笔记本电脑上运行 spin.contacts 示例项目。

我正在为 Windows 运行 node v0.6.6

我做了什么

  • 安装节点
  • 通过 npm 安装了 spin、spine-app 和 hem
  • 文件夹中提取的 spin.contacts
  • 在文件夹内运行npm install .,它创建了 node_modules 文件夹,里面有一堆目录,包括 jqueryify
  • 运行hem server以启动测试服务器
  • 基本上遵循了信中的所有指示

问题

在 Chrome (http://localhost:9294) 中运行应用程序,JavaScript 在 index.html 的第 9 行抛出异常(我在下面包含了 index.html)。它显示“未找到未捕获的模块 jqueryify”。我知道 jqueryify 依赖项是之前由 npm 安装的,但我还是尝试删除该行并手动链接 jQuery。现在我在 application.js 中收到错误“未找到未捕获的模块索引”。这当然不是依赖错误,因为 index.js 文件是本地的,并且它是项目中的主脚本文件。

所以似乎 require 函数有问题。我用谷歌搜索了很多,我发现没有任何东西表明spine.js 不应该在 Windows 上工作。

有任何想法吗?


一些链接


索引.html:

<!DOCTYPE html>
<html>
<head>
  <meta charset=utf-8>
  <title>App</title>
  <link rel="stylesheet" href="/application.css" type="text/css" charset="utf-8">
  <script src="/application.js" type="text/javascript" charset="utf-8"></script>
  <script type="text/javascript" charset="utf-8">
    var jQuery  = require("jqueryify"); // I'm line 9!!
    var exports = this;
    jQuery(function(){
      var App = require("index");
      exports.app = new App({el: $("#article")});      
    });
  </script>  
</head>
<body>
  <header id="header"><h1>Spine Contacts</h1></header>
  <article id="article"></article>
</body>
</html>
4

2 回答 2

2

Windows 不支持下摆。我发现自己处于同样的境地并尝试了同样的方法。

更多信息在这里:https ://github.com/maccman/hem/issues/23

于 2012-01-13T10:28:36.827 回答
1

尝试在第 9 行之前插入:

for(var winPath in require.modules)
{
path = winPath.replace(/\\/g, '/'); 
path = path.match('/node_modules/') ? path.split('/node_modules/')[1] : path;
path = path.match('/app/') ? path.split('/app/')[1] : path;
require.modules[path] = require.modules[winPath];
}

我认为很快就会有修复。

于 2012-01-20T16:21:57.790 回答