我在将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');
});
答案 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>
要查看工作示例,请按以下步骤操作。
注意:我已经确认这是有效的。但是,如果您正在寻找更多的Isopmorphic方法,您可能还需要查看browserify。
答案 1 :(得分:0)
要在前端使用节点模块,请使用browserify
。默认情况下,Javascript没有关键字require, module, exports