javascript - 如何处理nodejs应用程序中的“ReferenceError:require is not defined”?
问题描述
用例是从浏览器获取一些用户输入,然后将该数据插入数据库。
我设置了一个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
因为它是浏览器/客户端(节点上的客户端:未捕获的 ReferenceError:未定义要求)。
我不确定处理这个问题的最佳方法。我是新手,所以很可能我刚刚得到了一个结构很差的应用程序。在上面的 stackoverlfow 响应中,推荐使用 browserify,但我正在尝试使用 pkg 将此应用程序捆绑为可执行文件,并且不确定 browserify 是否可以使用它。
我是否需要将 response_add 数据传递到其他地方才能将其插入数据库?如果是这样,怎么做?(尽量不要使事情过于复杂)
解决方案
推荐阅读
- javascript - 如何在达到状态 503 后保持用户脚本运行
- angular - Angular 6添加自定义标题
- angularjs - 在另一个 ng-repeat 中使用 ng-repeat 时遇到问题
- python - 带有 keras 和 opencv 的 Python 多进程
- c# - 从 MDX 查询字符串中提取数据
- java - 如何用 Java 从终端回答命令
- wordpress - 理解 Genesis 框架中的 genesis_markup()
- angular - 发布请求获取 401(未经授权)woo rest api
- php - 使用字符“?” 在sql查询codeigniter
- sql - Test for zero datetime in SSIS Conditional Split