在node.js中需要RX.js

时间:2015-12-16 01:28:53

标签: javascript node.js rxjs

我在将rx放入我的文件时遇到错误。它在浏览器控制台中显示" Uncaught ReferenceError:require未定义"

检查了github上的版本和参考但不知道它仍然无法正常工作?只需要在点击按钮时尝试使用警报消息。

这里是我的observ.js文件,位于/ js

var Rx = require('rx');
var Observable = Rx.Observable;

var button = document.getElementById('button');

var handler = function(e) {
  alert('clicked!');
};

button.addEventListener('click', handler);

这是我的html文件位于/ public

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
    <button id="button">Click me</button>
  <script src="../js/observ.js"></script>
</body>
</html>

这是我的快递js app只是在根文件夹中提供html

var express = require('express');
var app = express();


app.use(express.static(__dirname + '/public'));

app.get('/', function(req, res) {
  res.render('index');
});

app.listen(process.env.PORT || 3000, function() {
  console.log('Express listening on port 3000');
});

2 个答案:

答案 0 :(得分:3)

查看documentatio n。看起来您需要使用像require.js这样的AMD加载器在客户端运行此代码。

例如:

<html>
<head>
    <title>test</title>
</head>
<body>
    <button id='button'>Test</button>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.22/require.js"></script>
    <script>
        requirejs.config({
            paths: {
                rx: 'rx'
            }
        });

        requirejs(['rx'], function(Rx) {
          var Observable = Rx.Observable;

          var button = document.getElementById('button');

          var handler = function(e) {
            alert('clicked!');
          };

          button.addEventListener('click', handler);

        });
    </script>
    </body>
</html>

要查看工作示例,请按以下步骤操作。

  1. 复制以上代码,
  2. 创建新的本地文件夹/ html文件
  3. 将以上代码粘贴到HTML文件
  4. 在新文件夹的根目录下创建一个名为rx.js的新文件
  5. Copy rx code from here and paste it in the rx.js file
  6. 注意:我已经确认这是有效的。但是,如果您正在寻找更多的Isopmorphic方法,您可能还需要查看browserify

答案 1 :(得分:0)

要在前端使用节点模块,请使用browserify。默认情况下,Javascript没有关键字require, module, exports