用例是从浏览器获取一些用户输入,然后将该数据插入数据库。
我设置了server.js
:
app.use(express.static('./app'));
app.get('/', function(req, res) {
res.sendFile(path.resolve('./app/index.html'));
});
我也有一个index.html
。我正在将add_response.js
导入html。
<script src="js/add_response.js"></script>
<form ng-submit="submit_add()" ng-controller="AddResponse" style="min-height: 230px; margin: 0 auto;">
<div>
<textarea name="response_add" ng-model="response_add" rows="10" cols="80"></textarea>
</div>
<div class="submitButton">
<input type="submit" id="submit_add" value="Submit" />
</div>
</form>
一切正常。然后,我创建了add_response.js
来处理从浏览器中获取一些用户输入的操作,并在用户单击“提交”时将其插入数据库中。
var myApp = angular.module("myApp");
myApp.controller('AddResponse', function ($scope, $http) {
$scope.submit_add = function () {
$scope.response = $scope.response_add;
//insert into Couchbase DB
}
}
问题是要插入Couchbase,我需要导入Couchbase(已与npm一起安装):
var couchbase = require('couchbase')
如果我尝试在add_response.js
内执行此操作,则在启动应用程序并进入浏览器后出现错误:ReferenceError: require is not defined
从谷歌搜索来看,这似乎是因为require
在add_response.js
中不起作用,因为它是浏览器/客户端(Client on node: Uncaught ReferenceError: require is not defined)。
我不确定处理此问题的最佳方法。我是新来的人,所以很可能我刚得到一个结构不良的应用程序。在上面的stackoverlfow响应中,建议使用browserify,但是我尝试使用pkg将此应用程序捆绑为可执行文件,并且不确定browserify是否可以使用该文件。
是否需要将response_add数据传递到其他地方以将其插入数据库?如果是这样,怎么办? (尽量不使事情复杂化)