2016-05-24 9 views
2

node-mssqlライブラリを使用しようとすると、My Reactアプリケーションがビルドに失敗します。これは、古いIISサーバーからこのアプリケーションを提供する必要があるので、私はクライアント側でこれを行うことが重要です。 Webpackブラウザバンドルで実行すると、追加の設定が必要になるようです。多分Polyfillのようなもの?私はどこでもこれについて助けを見つけることができません - 私は実際にいくつかのアドバイスを使用することができます。webpackにバンドルされたReactアプリケーションでnode-mssqlでエラーが発生しました

ビルドエラーや警告は、次のとおりです。

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]' 
     }] 
     } 
    }; 

ありがとう:

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の設定です。

答えて

2

MSSQLサーバー接続ライブラリは、クライアント側のjavascriptライブラリではありません。独自のライブラリを作成したとしても、WebブラウザからTCP SQL接続を行う方法はまったくありません。

セキュリティ上の理由から、クライアント側のSQL Serverへのアクセスを許可しないことをお勧めします。 APIをクライアントアプリケーションに公開するには、サーバー側の環境(例:Node/Express)をスピンアップする必要があります。

関連する問題