尝试用socket.io构建简单的聊天服务器应用程序,并与webpack一起组装成一个js文件。应用程序在没有webpack组装的情况下运行良好。但是,当我试图与webpack组装我所有的脚本时,它会抛出错误:
Error: Cannot find module "socket.io-client/package"我在socket.io库中找到了需要调用方法的地方。它的11行位于socket.io/lib/index.js文件中。
var clientVersion = require('socket.io-client/package').version;当我取消socket.io时,它需要它的依赖项socket.io-client库的package.json。我试图添加一个json加载程序,但没有帮助。我不知道下一步该怎么办。
main.js:
var io = require('socket.io');
var listener = io(9999);
...webpack.config
var webpack = require('webpack');
module.exports = {
entry: './src/main.js',
target: 'node',
output: {
path: './temp',
filename: 'chat-server.js'
},
module: {
loaders: [
{ test: /\.json$/, loader: 'json' }
]
}
}发布于 2015-12-19 15:46:47
你需要json-loader。安装它。
我想你还需要告诉webpack去找json文件。您可以使用resolve.extensions选项来实现这一点。只要包括'.json'就行了。
我建议的一个更好的解决方案是使用webpack替换插件并将该字符串替换为实际版本。就像这样:
new webpack.NormalModuleReplacementPlugin('require(\'socket.io-client/package\').version', require('socket.io-client/package').version)https://stackoverflow.com/questions/34372346
复制相似问题