reactjs - webpack 捆绑的 React 应用程序中的 node-mssql 错误

标签 reactjs webpack node-mssql

每当我尝试使用 node-mssql 时,我的 React 应用程序都无法构建图书馆。在客户端执行此操作很重要,因为我必须从旧的 IIS 服务器提供此应用程序。看来在 Webpack 浏览器包中执行需要额外的配置。也许是某种 Polyfill?我在任何地方都找不到任何帮助——我真的需要一些建议。

构建错误和警告是:

    WARNING in ./~/mssql/lib/tds-fix.js
    Module not found: Error: Cannot resolve module 'tds/package.json' in /Users/hills/upload-covers/node_modules/mssql/lib
     @ ./~/mssql/lib/tds-fix.js 6:8-35

    WARNING in ./~/mssql/lib/tds-fix.js
    Module not found: Error: Cannot resolve module 'tds/lib/tds-constants.js' in /Users/hills/upload-covers/node_modules/mssql/lib
     @ ./~/mssql/lib/tds-fix.js 13:4-39

    WARNING in ./~/mssql/lib/tds-fix.js
    Module not found: Error: Cannot resolve module 'tds' in /Users/hills/upload-covers/node_modules/mssql/lib
     @ ./~/mssql/lib/tds-fix.js 14:4-18

    ERROR in ./~/mssql/lib/msnodesql.js
    Module not found: Error: Cannot resolve module 'msnodesql' in /Users/hills/upload-covers/node_modules/mssql/lib
     @ ./~/mssql/lib/msnodesql.js 9:14-34

    ERROR in ./~/mssql/lib/msnodesqlv8.js
    Module not found: Error: Cannot resolve module 'msnodesqlv8' in /Users/hills/upload-covers/node_modules/mssql/lib
     @ ./~/mssql/lib/msnodesqlv8.js 9:14-36

    ERROR in ./~/mssql/lib/tds.js
    Module not found: Error: Cannot resolve module 'tds' in /Users/hills/upload-covers/node_modules/mssql/lib
     @ ./~/mssql/lib/tds.js 9:8-22

    ERROR in ./~/tedious/lib/connection.js
    Module not found: Error: Cannot resolve module 'net' in /Users/hills/upload-covers/node_modules/tedious/lib
     @ ./~/tedious/lib/connection.js 25:13-27

    ERROR in ./~/tedious/lib/instance-lookup.js
    Module not found: Error: Cannot resolve module 'dgram' in /Users/hills/upload-covers/node_modules/tedious/lib
     @ ./~/tedious/lib/instance-lookup.js 3:12-28

    ERROR in ./~/tedious/lib/message-io.js
    Module not found: Error: Cannot resolve module 'tls' in /Users/hills/upload-covers/node_modules/tedious/lib
     @ ./~/tedious/lib/message-io.js 11:10-24

这是我的 webpack 配置:

    var path = require('path');
    var webpack = require('webpack');
    var HtmlWebpackPlugin = require('html-webpack-plugin');

    module.exports = {
      devtool: 'eval-source-map',
      entry: [
        'webpack-hot-middleware/client?reload=true',
        path.join(__dirname, 'app/main.js')
      ],
      output: {
        path: path.join(__dirname, '/dist/'),
        filename: '[name].js',
        publicPath: '/'
      },
      plugins: [
        new HtmlWebpackPlugin({
          template: 'app/index.tpl.html',
          inject: 'body',
          filename: 'index.html'
        }),
        new webpack.optimize.OccurenceOrderPlugin(),
        new webpack.HotModuleReplacementPlugin(),
        new webpack.NoErrorsPlugin(),
        new webpack.DefinePlugin({
          'process.env.NODE_ENV': JSON.stringify('development')
        })
      ],
      module: {
        loaders: [{
          test: /\.js?$/,
          exclude: /node_modules/,
          loader: 'babel',
          query: {
            "presets": ["react", "es2015", "stage-0", "react-hmre"]
          }
        }, {
          test: /\.json?$/,
          loader: 'json'
        }, {
          test: /\.css$/,
          loader: 'style!css?modules&localIdentName=[name]---[local]---[hash:base64:5]'
        }]
      }
    };

谢谢。

最佳答案

MSSQL 服务器连接库不是客户端 JavaScript 库。即使您编写了自己的库,也绝对无法从 Web 浏览器建立 TCP SQL 连接。

出于安全原因,您永远不会希望允许客户端访问 SQL Server。您需要启动服务器端环境(例如 Node/Express)以向客户端应用程序公开 API。

关于reactjs - webpack 捆绑的 React 应用程序中的 node-mssql 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37420168/

相关文章:

javascript - 这个类可以改成React无状态函数吗?

css - Div 不在网格中

javascript - react : Unselect all radio buttons via button click

typescript - 为electron配置hapi、typescript、webpack、angular2

javascript - 目标不是Electron-React-Typescript-Webpack应用程序中的DOM元素

express - 节点js : mssql [ConnectionError: Connection is closed.]名称: 'ConnectionError' ,消息: 'Connection is closed.' ,代码: 'ECONNCLOSED'

reactjs - 访问 React.DOM.input 已被弃用,将在 v16.0+ 中删除?

javascript - 多项目 webpack 配置建议

sql-server - Node js msssql连接错误

javascript - 父查询中每一行的子查询 - Node.js 和 node-mssql