解决Webpack中的本地Node模块依赖关系?

我正在使用Webpack来连接一个与Discogs API连接的库,名为disconnect 。 所有捆绑很好,直到我开始使用断开连接库的几个select方法。 事实certificate,该库使用的一些模块是本地Node模块,并且该库不正式支持客户端JS环境。

但是 ,我有一个预感,它没有做任何需要Node环境的东西; 而且我希望在放弃之前尽可能地在客户端获得。 阻塞我的实验的依赖之一是一个名为querystring的本地Node模块(据我所知,与环境无关)。 这个模块需要断开连接 ,但是没有在断开连接package.json中列出,因为它希望在查询string本地可用的节点环境中运行。

我想要做的是有Webpack绑定节点的本地查询string模块,使我的依赖关系断开可以继续使用它。

对于那些想要陷入困境的人,我在浏览器中遇到的具体错误是:

Uncaught TypeError:queryString.escape不是Object.getEvent(app.js:14)上的Object.collection.getReleases(collection.js:87)上Object.util.escape(util.js:38)处的函数。 (app.js:47)at webpack_require (app.js:20)at app.js:40 at app.js:43

我的package.json

{ "name": "some-app", "version": "0.0.1", "description": "", "main": "src/js/app.js", "scripts": { "dev": "npm run clean && npm run build:html && npm run build:webpack-development", "pro": "npm run clean && npm run build:html && npm run build:webpack-production", "clean": "rm -rf build", "build:webpack-development": "NODE_ENV=development webpack --color --display-modules", "build:webpack-production": "NODE_ENV=production webpack --color", "build:html": "mkdir -p build && cp -f src/index.html build/index.html" }, "devDependencies": { "babel-core": "^6.21.0", "babel-loader": "^6.2.10", "babel-preset-es2015": "^6.18.0", "babel-preset-es2016": "^6.16.0", "css-loader": "^0.26.1", "extract-text-webpack-plugin": "^1.0.1", "json-loader": "^0.5.4", "node-sass": "^4.3.0", "sass-loader": "^4.1.1", "style-loader": "^0.13.1", "webpack": "^1.14.0", "webpack-livereload-plugin": "^0.9.0", "querystring": "^0.2.0", "disconnect": "^1.0.2" } } 

我的webpack.config.js

 var path = require('path') var LiveReloadPlugin = require('webpack-livereload-plugin'); var ExtractTextPlugin = require("extract-text-webpack-plugin"); var dev = process.env.NODE_ENV === "development" module.exports = { devtool: dev ? 'eval' : false, watch: dev, entry: { app: path.resolve(__dirname, "src/js/app.js") }, output: { path: path.resolve(__dirname, "build/js"), filename: "[name].js" }, module: { loaders: [ { test: /\.json$/, loader: "json-loader" }, { test: /\.js$/, include: path.resolve(__dirname, "src/js"), loader: "babel-loader", query: { cacheDirectory: true, presets: ['es2015', 'es2016'] } }, { test: /\.scss$/, include: path.resolve(__dirname, "src/sass"), loader: ExtractTextPlugin.extract('css!sass') } ] }, resolve: { extensions: ['', '.js'] }, plugins: [ new LiveReloadPlugin(), new ExtractTextPlugin("../css/app.css") ] } 

我的src / js / app.js

 import * as disconnect from 'disconnect' let Discogs = disconnect.Client var col = new Discogs().user().collection(); col.getReleases('some-user', 0, {page: 2, per_page: 75}, function(err, data){ console.log(data); }); 

使用npm install && npm run dev构build。