来自Microsoft Office加载项taskpane.js的MySQL驱动程序模块的空引用

保罗·卡普兰

我正在尝试从Microsoft Office加载项访问MySQL数据库。我可以使该加载项在MsWord中工作,但是当我尝试使用MySQL Node.js驱动程序时,“ mysql”对象在运行时显示为null。

我在taskpane.js的开头添加了此代码:

import { mysql } from 'mysql';

did the following:
npm install mysql
npm audit fix
npm install @types/mysql
added the following to webpack.config.js "target: 'node',"

稍后在代码中,当我运行它时,它将触发并显示“ mysql undefined”:

 if (!mysql) {
  context.document.body.insertParagraph("mysql undefined", Word.InsertLocation.end);

我想念什么或做错什么?

蓝番茄

这是行不通的,因为您尝试mysql在前端中使用服务器库虽然两者都是用javascript编写的,但是它们所使用的环境却截然不同。

下图非常简洁地解释了该问题-我建议您从此网站中检出。

在此处输入图片说明

本质上,对于react库,您使用的是node.js作为构建助手,打包运行程序等。-这意味着最终结果应该只是一个javascript文件。main.123456.js如果您使用的是默认版本,则类似该文件在浏览器上下文中将是有意义的,因为这里将包含DOM项,即HTML特定的内容。

对于MySQL库-您将node.js用作HTTP服务器。那将无法访问DOM,但是由于它是作为一个进程运行的,因此它将为您提供不同的功能,从而使您的MySQL连接正常工作。

office.js在浏览器上下文中运行,因此与react有关的一切基本上都在您的浏览器中运行。这意味着下面的行属于您的应用程序:

context.document.body.insertParagraph("mysql undefined", Word.InsertLocation.end);

不过,来自MySQL的数据需要来自服务器。您仍然可以在node.js中设置该服务器-这样,您就可以使用从NPM导入的MySQL库。本教程将引导您逐步设置一个非常简单的服务器。

这意味着这条线

import { mysql } from 'mysql';

sql连接属于服务器端。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Microsoft Access驱动程序:由于系统错误1114无法加载指定的驱动程序

使用Office JS API的Office VSTO加载项与Office加载项

Office JS-刷新加载项版本

Office.js内容加载项插入行为

Microsoft对发布到Office加载项存储中的加载项托管什么?

新的Microsoft Word Office加载项在功能区中未显示加载项按钮

分发Microsoft.Office.Tools Dll和Office加载项

Office JS加载项

通过Office加载项(Word JS)使用Microsoft Graph访问SharePoint

Microsoft Office.js Excel加载项-使用javascript / react检索工作表/工作簿的唯一ID

离线模式下的office-js加载项

office.js中开发的Microsoft Word加载项可以支持Mobile Word应用程序吗?(我知道Outlook加载项支持移动设备)

Microsoft O365缓存的加载项-Office.context.mailbox.item为null

Microsoft PHP SQL Server驱动程序无法正常工作,无法加载模块

linux如何为内置驱动程序模块加载固件

VSTO Microsoft Office Outlook 2013加载项不断禁用功能区

SQL Server的Microsoft ODBC驱动程序11:无法加载指定的驱动程序(msodbcsql11.dll)

如何在连接的USB设备上加载我的自定义驱动程序模块?

无法从Microsoft Office JavaScript加载项向Trello进行身份验证

在Web服务器上托管Office taskpane加载项清单

Goodix触摸屏驱动程序模块加载了错误的abs_x_max和abs_y_max

Mac中未加载office加载项-Mac中是否支持Office.initialize事件?office.js

为什么我的 Office.js 加载项找不到这个 Microsoft js 资源(或者它为什么要寻找它?)?

来自模块项的 QQmlComponent

无法向 Office JS 加载项添加附件

Microsoft Office 365 商业版 - Microsoft Store 版本是否支持 VSTO COM 加载项?

当 webapp 作为 Outlook 加载项加载时有条件地加载 Office.js

Outlook 加载项 office.js 未加载

从 Web 加载项 (Office js) 订阅 Outlook 通知