节点js - 导入mssql模块以用于Angular 2项目错误:"无法解决问题' "和"无法解决' dgram' "

时间:2017-04-19 05:41:56

标签: sql-server node.js angular debugging dependency-injection

我在Angular 2和NodeJS开发方面都有丰富的经验。如果这个问题过于简单,我会道歉。

我的目标是创建一个连接到SQL Server数据库的Web界面。此应用程序将使用户能够轻松地从应用程序发送查询并从连接的数据库接收结果。

在搜索解决方案时,我决定在通过npm安装后将mssql模块导入我的mssql-connection.service.ts。我计划通过使用依赖注入或其常规语法在服务中使用它。但是,在每种情况下进行编译时遇到错误。

首先,在尝试通过编写import { MSSQL } from 'mssql';来使用DI方法时,我收到两条重复的错误消息node_modules/@types/mssql/index"' has no exported member 'MSSQL'.

其次,在我尝试将情况作为回应进行补救时,我写了import 'mssql';。然后我总共得到三条错误消息:我收到两条重复的错误消息Can't resolve 'dns' in '...\node_modules\tedious\lib'和一条错误消息Can't resolve 'dgram' in '...\node_modules\tedious\lib'我也尝试使用const sql = require('mssql');但这会给我Cannot find name 'require'.错误消息,前面有错误消息。

我很难过,想知道为什么会这样!我希望能够自由使用外部模块。我也试过npm install @types/mssql,但无济于事。我的节点版本是v6.9.5,我使用的是Angular 4.0.0。请帮忙!

提前谢谢。

1 个答案:

答案 0 :(得分:1)

我真的不认为您要在这里实现什么有意义。您不认为在Angular应用程序中使用它会是反模式吗?您应该如何准确地分发此应用程序并使其安全?

我建议您在NodeJS项目中使用mssql。您可以在那里从Angular App中找到API。毕竟,这就是客户的目的。

这样做将使您的代码更易于管理,维护和松散耦合。

希望这很有道理。