泚ïŒãµããŒãã«é¢ãã質åã«ã€ããŠã¯ã stackoverflowãŸãã¯slackã®ããããã®ãã£ãã«ã䜿çšããŠãã ãã
ãµã³ãã«ãããžã§ã¯ãwebpack-build-serverãsocket.ioã®ãã¹ã¿ãŒãã©ã³ãããããŠã³ããŒããã npm install
ãå®è¡ããŠäŸåé¢ä¿ãã€ã³ã¹ããŒã«ããæåŸã«npm run build
ãå®è¡ããŠãµãŒããŒããã³ãã«ããããšããŸããããwebpackã䜿çšãããšæ¬¡ã®ãšã©ãŒïŒ
ERROR in ./~/engine.io/lib/server.js
Module not found: Error: Can't resolve 'uws' in '/Users/ZehuaChen/Downloads/socket.io-master/examples/webpack-build-server/node_modules/engine.io/lib'
@ ./~/engine.io/lib/server.js 107:27-41
@ ./~/engine.io/lib/engine.io.js
@ ./~/socket.io/lib/index.js
@ ./lib/index.js
examples/webpack-build-server
ã«ç§»åããŸã;npm install
å®è¡ããŸã;npm run build
å®è¡ããŸã;泚ïŒè¿ éãªåçãåŸãæè¯ã®æ¹æ³ã¯ãããšãã°æ¬¡ã®ãã£ãã«ããã©ãŒã¯ããããšã«ããã倱æãããã¹ãã±ãŒã¹ãæäŸããããšã§ãã
server.jsãã¡ã€ã«ã¯dist
ãã©ã«ããŒã«äœæããå¿
èŠããããŸãã
ãããã¯ç§ã®ç«¯æ«ã«å°å·ãããŠãããã®ã§ã
`` ``
[email protected] build /Users/ZehuaChen/Downloads/socket.io-master/examples/webpack-build-server
webpack --config ./support/webpack.config.js
ããã·ã¥ïŒ997a1fd1ee0b1b064485
ããŒãžã§ã³ïŒwebpack 2.7.0
æéïŒ468ms
ã¢ã»ãããµã€ãºãã£ã³ã¯ãã£ã³ã¯å
server.js 401 kB 0 [æŸåº] [倧ããª]ã¡ã€ã³
[0] ./~/debug/src/index.js263ãã€ã{0} [ãã«ã]
[7] ./~/socket.io-parser/index.js 8.04 kB {0} [ãã«ãæžã¿]
[16] ./~/engine.io/lib/socket.js 11.6 kB {0} [ãã«ãæžã¿]
[17] ./~/engine.io/lib/transports/index.js509ãã€ã{0} [ãã«ã]
[19] ./~/socket.io-parser/is-buffer.js712ãã€ã{0} [ãã«ã]
[20] ./~/socket.io/lib/namespace.js 5.81 kB {0} [ãã«ãæžã¿]
[31] ./~/socket.io/lib/index.js 12.9 kB {0} [ãã«ãæžã¿]
[32] ./lib/index.js474ãã€ã{0} [ãã«ã]
[43] ./~/engine.io/lib/engine.io.js 2.38 kB {0} [ãã«ãæžã¿]
[44] ./~/engine.io/lib/server.js 15.1 kB {0} [ãã«ãæžã¿]
[58] ./~/socket.io-adapter/index.js 5.44 kB {0} [ãã«ãæžã¿]
[59] ./~/socket.io-client/package.json 3.19 kB {0} [ãã«ãæžã¿]
[61] ./~/socket.io/lib160ãã€ã{0} [ãã«ã]
[62] ./~/socket.io/lib/client.js 5.9 kB {0} [ãã«ãæžã¿]
[63] ./~/socket.io/lib/parent-namespace.js917ãã€ã{0} [ãã«ã]
+59ã®é ãã¢ãžã¥ãŒã«
./~/ws/lib/Validation.jsã®èŠå
ã¢ãžã¥ãŒã«ãèŠã€ãããŸããïŒãšã©ãŒïŒã/ Users / ZehuaChen / Downloads / socket.io-master / examples / webpack-build-server / node_modules / ws / libãã®ãutf-8-validateãã解決ã§ããŸãã
@ ./~/ws/lib/Validation.js 10ïŒ22-47
@ ./~/ws/lib/Receiver.js
@ ./~/ws/index.js
@ ./~/engine.io/lib/server.js
@ ./~/engine.io/lib/engine.io.js
@ ./~/socket.io/lib/index.js
@ ./lib/index.js
./~/ws/lib/BufferUtil.jsã®èŠå
ã¢ãžã¥ãŒã«ãèŠã€ãããŸããïŒãšã©ãŒïŒã/ Users / ZehuaChen / Downloads / socket.io-master / examples / webpack-build-server / node_modules / ws / libãã®ãbufferutilãã解決ã§ããŸãã
@ ./~/ws/lib/BufferUtil.js 35ïŒ21-42
@ ./~/ws/lib/Receiver.js
@ ./~/ws/index.js
@ ./~/engine.io/lib/server.js
@ ./~/engine.io/lib/engine.io.js
@ ./~/socket.io/lib/index.js
@ ./lib/index.js
./~/socket.io/lib/index.jsã®èŠå
113ïŒ11-32é倧ãªäŸåé¢ä¿ïŒäŸåé¢ä¿ã®èŠæ±ã¯åŒã§ã
./~/engine.io/lib/server.jsã®ãšã©ãŒ
ã¢ãžã¥ãŒã«ãèŠã€ãããŸããïŒãšã©ãŒïŒã/ Users / ZehuaChen / Downloads / socket.io-master / examples / webpack-build-server / node_modules / engine.io / libãã®ãuwsãã解決ã§ããŸãã
@ ./~/engine.io/lib/server.js 107ïŒ27-41
@ ./~/engine.io/lib/engine.io.js
@ ./~/socket.io/lib/index.js
@ ./lib/index.js
npm ERRïŒ ã³ãŒãELIFECYCLE
npm ERRïŒ errno 2
npm ERRïŒ [email protected]ãã«ãïŒ webpack --config ./support/webpack.config.js
npm ERRïŒ çµäºã¹ããŒã¿ã¹2
npm ERRïŒ
npm ERRïŒ [email protected]ãã«ãã¹ã¯ãªããã§å€±æããŸããã
npm ERRïŒ ããã¯ããããnpmã®åé¡ã§ã¯ãããŸããã äžèšã®è¿œå ã®ãã°åºåãããå¯èœæ§ããããŸãã
npm ERRïŒ ãã®å®è¡ã®å®å
šãªãã°ã¯ã次ã®å Žæã«ãããŸãã
npm ERRïŒ /Users/ZehuaChen/.npm/_logs/2018-05-17T21_30_47_624Z-debug.log
`` ``
uws
ããã±ãŒãžãæåã§ã€ã³ã¹ããŒã«ããŸããããæ©èœããŠããããã§ãã ç§ã®ãããªåå¿è
ããããç解ããã®ã¯æ¬åœã«é£ããã®ã§ã誰ããREADMEãã¡ã€ã«ãŸãã¯package.jsonãæŽæ°ã§ããŸããïŒ
ç§ãåãèŠåãåããŠããŸãïŒ
WARNING in ./~/ws/lib/BufferUtil.js
Module not found: Error: Can't resolve 'bufferutil' in '/Users/Ian/Code/ianpaschal/forge-server/node_modules/ws/lib'
@ ./~/ws/lib/BufferUtil.js 35:21-42
@ ./~/ws/lib/Sender.js
@ ./~/ws/index.js
@ ./~/engine.io/lib/server.js
@ ./~/engine.io/lib/engine.io.js
@ ./~/socket.io/lib/index.js
@ ./src/server.js
WARNING in ./~/ws/lib/Validation.js
Module not found: Error: Can't resolve 'utf-8-validate' in '/Users/Ian/Code/ianpaschal/forge-server/node_modules/ws/lib'
@ ./~/ws/lib/Validation.js 10:22-47
@ ./~/ws/lib/Receiver.js
@ ./~/ws/index.js
@ ./~/engine.io/lib/server.js
@ ./~/engine.io/lib/engine.io.js
@ ./~/socket.io/lib/index.js
@ ./src/server.js
WARNING in ./~/socket.io/lib/index.js
113:11-32 Critical dependency: the request of a dependency is an expression
// package.json
"webpack": "^2.7.0",
"socket.io": "^2.1.0",
ãªããšã解決ã§ããŸãããïŒ åãåé¡ããããŸãã
ãããã ããã¯åãªãèŠåã§ãããããéãã³ã³ãœãŒã«åºå以å€ã®å¹æã¯ãããŸããããããã§ãååšããŸãã
npm start
ããããªããæ¢ããããšã¯ãããŸããããã ãšã©ãŒãç¡èŠããŠãã ããã
ããŒãã®ã¿ãã³ã³ãã€ã«ããå Žåã¯ããªãã·ã§ã³ãè¿œå ããå¿
èŠããããŸããããããã°ããšã©ãŒã¯æ¶ããŸãã
æ§æãã¡ã€ã«ã«æ¬¡ã®ãã®ãè¿œå ããå¿
èŠããããŸãã
{
...
target: 'node'
...
}
ãã以å€ã®å Žåã¯ã Webã®ã¿ãã³ã³ãã€ã«ããããããªãã·ã§ã³ãæž¡ãå¿
èŠã¯ãããŸããïŒdefault = 'web'ïŒïŒãŸãã¯target = 'web'ïŒãã 'uws'ã¯ãã³ãã«ããé€å€ããå¿
èŠããããŸããããã¯ããã©ãŠã¶ã
ãã®å Žåã次ãè¿œå ããå¿
èŠããããŸãã
{
...
externals: {
uws: "uws"
},
...
}
@ pirix-ghããã¯åé¡ã§ã¯ãªãããã§ãã
ç§ã®èšå®ããïŒ
const Webpack = require( "webpack" );
module.exports = {
target: "node",
node: {
__dirname: true,
__filename: true,
},
entry: {
main: "./src/server.js",
},
plugins: [
new Webpack.EnvironmentPlugin( [
"NODE_ENV",
] ),
new Webpack.IgnorePlugin( /uws/ )
],
};
@ianpaschalããããŸãããã§ã¯ããããžã§ã¯ããå¥ã®ãããžã§ã¯ãã«ã€ã³ããŒãããŠããã®ã§ã¯ãªãã§ããããã
_Project_1_
_Project_2_
WebpackïŒProject_2ãã³ã³ãã€ã«ããŸã
-> Project_2ã«ã¢ãžã¥ãŒã«ãèŠã€ãããŸãã
ããã¯ãäŸåé¢ä¿ãProject_2ã§æ€çŽ¢ãããŠããããProject_1ããããä¿æããŠããããã«çºçããå¯èœæ§ããããŸãã
ããã«å¯Ÿãã解決çã¯ãäžè¶³ããŠããäŸåé¢ä¿ãã€ã³ã¹ããŒã«ããããšã§ãã
ãŸãã¯ãProject_1ãå
¬éããŠãããäŸåé¢ä¿ãšããŠProject_2ã«ã€ã³ããŒãããŸãã
ãããè¡ãããšã«ãããäžèšã§æäŸãããšã©ãŒãåçŸããããšãã§ããŸã
ãªãããŸããããªãã£ãã®ãã説æããå¥ã®ã¢ãããŒããæäŸããŠãããŠããããšãïŒ
@ Zehua-Chen Pleasureãåé¡ã解決ããããšãé¡ã£ãŠããŸãã åžžã«å ¬éããã®ãããã«é¢åããç¥ã£ãŠããã®ã§...åå²ãããžã§ã¯ãã®ãã®å Žåãéçºäžã«äœ¿çšã§ããŸãã
npx @babel/node src/index.js
ãŸãã¯node -r @babel/register src/index.js
ãŸãã¯ããŒãžã§ã³ã«ãã£ãŠã¯
npx babel-node src/index.js
ãŸãã¯node -r babel-register src/index.js
äŸåé¢ä¿ãé©åã«è§£æ±ºããŠå®è¡ããŸãããæ¬çªç°å¢ã«ã¯é©ããŠããªãããšã«æ³šæããŠãã ããã
æ¬çªç°å¢ã§äœæ¥ããŠããå Žåã¯ãããã±ãŒãžãåå¥ã«å
¬éãã代ããã«npmã䜿çšããå¿
èŠããããŸãã
ç§ã¯ä»å€ãã®ç 究ãããŸããããããã§ãåé¡ãšãã®è§£æ±ºæ¹æ³ãç解ããŠããŸããã§ããã
ç§ã¯åäžã®ãããžã§ã¯ããæã£ãŠããŸããsocket.ioã䜿çšããwebpackã§ãã«ããããšåžžã«åãåé¡ã§å€±æããŸãã
ERROR in ./node_modules/engine.io/lib/server.js
Module not found: Error: Can't resolve 'uws' in 'xxxxxxxx/node_modules/engine.io/lib'
@ ./node_modules/engine.io/lib/server.js 107:27-41
@ ./node_modules/engine.io/lib/engine.io.js
@ ./node_modules/socket.io/lib/index.js
package.json
"dependencies": {
"express": "^4.16.3",
"socket.io": "^2.1.1"
},
"devDependencies": {
"tslint": "^5.11.0",
"typescript": "2.9.2",
"uglifyjs-webpack-plugin": "^1.2.7",
"webpack": "^4.16.4",
"webpack-cli": "^3.1.0"
},
webpack.config.js
const path = require('path');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
module.exports = {
target: 'node',
mode: 'development',
entry: './dist/index.js',
output: {
filename: 'index.js',
path: path.resolve(__dirname, 'dist/00-bundle')
},
optimization: {
minimizer: [
new UglifyJsPlugin()
]
}
};
@btxtigerããã¯ãããŒããæäœãããšãã«äŸåé¢ä¿ããã³ãã«ããŠã¯ãªããªãããã§ãïŒpackage.jsonã§ã€ã³ã¹ããŒã«ãããŸãïŒã ããã¯ããããžã§ã¯ããWebã«ãã³ãã«ãããããwebpackã®ããã©ã«ãã®åäœã§ãã
ãããconfã«è¿œå ãããšã package.jsonãèªã¿åã£ãŠäŸåé¢ä¿ãé€å€ãããŸã
const nodeExternals = require('webpack-node-externals');
module.exports = {
...
mode: 'development',
...
externals: [nodeExternals({
modulesFromFile: true
})];
...
}
ãã®ããã«ããŠãïŒã»ãŒïŒå ¬éå¯èœãªããã±ãŒãžãååŸããŸã
@ pirix-ghããããšãïŒ ããããŸãããããã¯çã«ããªã£ãŠããŸãã package.jsonãä»ããŠã¢ãžã¥ãŒã«ãã€ã³ã¹ããŒã«/æŽæ°ããããšãªãããµãŒããŒã«ããã·ã¥ããã ãã§ããå®å šãªãã³ãã«ãäœæã§ããããšãæãã§ããŸããã ãããæ¬åœã«äžå¯èœãã©ããã¯ãŸã ããããŸããããsocket.ioã§ã®ãšã©ãŒãé€ããŠã¯æ©èœããŠããããã§ãã
@btxtigerããŒã«ã«ã§ãããè¡ãããšãã§ããŸãã äŸåé¢ä¿ã®ã«ãŒã«ã«éåãããããNPMã§å
¬éããªãã§ãã ããã
uwsã¯ãNode.jsã§ã©ãããããC ++ã¢ãžã¥ãŒã«ã§ããããã npm i
ã䜿çšãããšãªã³ã¶ãã©ã€ã§ã³ã³ãã€ã«ãããŸãã
ãããã£ãŠãæšæºã®jsã®ããã«ãã³ãã«ããããšã¯ã§ãããã€ã³ã¹ããŒã«ããå¿
èŠããããŸãïŒããã«ãããOSã®ã³ã³ãã€ã«ãããªã¬ãŒãããŸãïŒã
ãã®ãããåžžã«NPMäŸåé¢ä¿ã·ã¹ãã ã䜿çšããå¿
èŠããããŸããããããã°ããã®è³ªåãèªåããå¿
èŠã¯ãããŸããã
ããã§ããããå®è¡ãããå Žåã¯ãuwsãé€å€ããŠã¿ãŠãã ããã
{
...
externals: {
uws: "uws"
},
...
}
@ pirix-ghãã°ãããã説æããŠãããŠããããšãã æé©åãããpackage.jsonã«ç§»åããŸãããããã¯ãwebpackã§ãã«ããããšãã«ãã¹ãŠã®éçºè ã®äŸåé¢ä¿ãé€å€ããéå§ããåã«åžžã«npminstallãå®è¡ããŸãã ä»ã®ãšããæè¯ã®è§£æ±ºçã®ããã§ãã
å®å
šã«ãããã°ããæéããããŸããã§ãããã karma^2.0.0
ããkarma^3.0.0
ã«ã¢ããã°ã¬ãŒããããšãWebpackãã«ãã§æ¬¡ã®ãšã©ãŒãçºçããŸããã
Module not found: Error: Can't resolve 'uws'
ãããã£ãŠãKarmaã2.0.0
ã«ä¿ã€ããšããç§ã«ãšã£ãŠã®è§£æ±ºçã§ããã
socket.ioãã€ã³ããŒããŸãã¯å¿ èŠãšãããã³ã«ããã®åé¡ãçºçããŸãã uwsãæåã§ã€ã³ã¹ããŒã«ããããšããŸããããNodeã¯ãŸã uwsã解決ã§ããŸããã
ç§ããã®åé¡ãæ±ããŠããŸããã解決æ¹æ³ãããããŸããã
Webpack /ããã³ããšã³ãã®äººã ãWebSocketãµãŒããŒã«æ¥ç¶ããããã«ã¯ã©ã€ã¢ã³ãåŽã¢ããªã§SocketIOãå¿ èŠãªå Žåã¯ã https ïŒ//github.com/socketio/socket.io-clientã䜿çšã§ããŸãã
ç§ã®Module not found: Error: Can't resolve 'uws'
ã®åé¡ã解決ããŸããïŒ
ã ããç§ã¯ãããšåãåé¡ãæ±ããŠããŸããããçç±ã¯ãŸã£ããç°ãªããŸãã çŸåšãnpm uwsããææ°ã®socket.ioãµãŒããŒããã±ãŒãžãã€ã³ã¹ããŒã«ãããšãèŠã€ãããŸããã
ããã¯ãuwsã®çºè¡å ãæè¿ãå®éã®ã³ãŒãDããã¹ãŠåé€ãã空ã®ããã±ãŒãžãã¢ããããŒãããããã«çºçããŠããŸãã
ãããä¿®æ£ããã«ã¯ãç Žå£ãããŠããªãæåŸã®ãªãªãŒã¹ãã€ã³ã¹ããŒã«ããŸã
糞远å [email protected]
npm install [email protected]
空ã®/éæšå¥šã®ããã±ãŒãžãžã®ãªã³ã¯ïŒ https ïŒ//www.npmjs.com/package/uws
redditããã®æŽå¯ã«æºã¡ãèæ¯æ å ±ïŒ https ïŒ//www.reddit.com/r/node/comments/91kgte/uws_has_been_deprecated/
äœãèµ·ããŠããã®ããç解ããã®ã«æéãããã£ãã®ã§ããã®åé¡ãæ€çŽ¢ãããšãã«è¡šç€ºãããäžäœã®ããã€ãã®çµæã«ãããæçš¿ããŸããããã«ããã誰ããæéãç¯çŽã§ããããšãé¡ã£ãŠããŸãã
ç§ã«ãšã£ãŠã¯ãCLIãŸãã¯æ§æãä»ãã--target node
ãéèŠã§ããããã¹ãŠã®åé¡ã解決ããŸããã
æãåèã«ãªãã³ã¡ã³ã
ã ããç§ã¯ãããšåãåé¡ãæ±ããŠããŸããããçç±ã¯ãŸã£ããç°ãªããŸãã çŸåšãnpm uwsããææ°ã®socket.ioãµãŒããŒããã±ãŒãžãã€ã³ã¹ããŒã«ãããšãèŠã€ãããŸããã
ããã¯ãuwsã®çºè¡å ãæè¿ãå®éã®ã³ãŒãDããã¹ãŠåé€ãã空ã®ããã±ãŒãžãã¢ããããŒãããããã«çºçããŠããŸãã
ãããä¿®æ£ããã«ã¯ãç Žå£ãããŠããªãæåŸã®ãªãªãŒã¹ãã€ã³ã¹ããŒã«ããŸã
糞远å [email protected]
npm install [email protected]
空ã®/éæšå¥šã®ããã±ãŒãžãžã®ãªã³ã¯ïŒ https ïŒ//www.npmjs.com/package/uws
redditããã®æŽå¯ã«æºã¡ãèæ¯æ å ±ïŒ https ïŒ//www.reddit.com/r/node/comments/91kgte/uws_has_been_deprecated/
äœãèµ·ããŠããã®ããç解ããã®ã«æéãããã£ãã®ã§ããã®åé¡ãæ€çŽ¢ãããšãã«è¡šç€ºãããäžäœã®ããã€ãã®çµæã«ãããæçš¿ããŸããããã«ããã誰ããæéãç¯çŽã§ããããšãé¡ã£ãŠããŸãã