Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Mysql方言不能在knex中使用(browserified)_Javascript_Mysql_Node.js_Knex.js - Fatal编程技术网

Javascript Mysql方言不能在knex中使用(browserified)

Javascript Mysql方言不能在knex中使用(browserified),javascript,mysql,node.js,knex.js,Javascript,Mysql,Node.js,Knex.js,我最近开始研究NodeJS,特别是knex模块,它可以从浏览器查询并插入数据库 我已经在自己的电脑上测试了我的代码,效果很好。但是,对于浏览器,我需要使用模块browserify以正确的方式转换代码(转换为bundle.js文件) 但是,当我在浏览器中加载文件时,会出现一个错误,说明以下内容: bundle.js:1未捕获错误:找不到模块'./dialogons/mysql/index.js' 在编码过程中,此部分之后会抛出错误: var Dialect; if (arguments.lengt

我最近开始研究NodeJS,特别是knex模块,它可以从浏览器查询并插入数据库

我已经在自己的电脑上测试了我的代码,效果很好。但是,对于浏览器,我需要使用模块browserify以正确的方式转换代码(转换为bundle.js文件)

但是,当我在浏览器中加载文件时,会出现一个错误,说明以下内容:

bundle.js:1未捕获错误:找不到模块'./dialogons/mysql/index.js'

在编码过程中,此部分之后会抛出错误:

var Dialect;
if (arguments.length === 0 || !config.client && !config.dialect) {
Dialect = makeClient(Client);
} else {
var clientName = config.client || config.dialect;
Dialect = makeClient(require("./dialects/" + (aliases[clientName] ||clientName) + "/index"));
}
在此之后,将抛出错误,而文件实际上存在于指定的路径中。此外,在此之前的代码行,例如:

var Readable = require('./_stream_readable');
var Writable = require('./_stream_writable');

确实可以很好地工作,所以我想这不可能是函数在错误的目录中搜索。关于如何解决这个问题,我已经没有什么新的想法了,所以我希望有人对此有更多的了解

我认为browserify不支持动态requires,所以不能在if语句中使用require,这里有一些解决方法。另一件事是,如果错误是由knex模块引起的,那么您应该知道knex只是服务器端。它不能在客户端上使用。我想我可以试着从if语句中提取这部分,但同样,if语句都是browserify转换的结果,而不是我最初的代码。在我看来,Browserify不会创建它不支持的代码?Browserify不知道该模块是否仅用于服务器端。那么你想在客户端上使用knex吗?我只是检查一下,代码是knex的一部分。所以您正试图在客户端上使用服务器端代码。这行不通。