В версии 1.4.1 я вижу следующую проблему с Webpack. У моего кода нет проблем с 1.4.0
WARNING in ./~/mySubApp/~/socket.io-client/~/engine.io-client/~/ws/lib/BufferUtil.js
Module not found: Error: Cannot resolve module 'bufferutil' in /u//WebStormProjects/myProject/node_modules/mySubApp/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib
@ ./~/mySubApp/~/socket.io-client/~/engine.io-client/~/ws/lib/BufferUtil.js 10:19-40
WARNING in ./~/mySubApp/~/socket.io-client/~/engine.io-client/~/ws/lib/Validation.js
Module not found: Error: Cannot resolve module 'utf-8-validate' in /u//WebStormProjects/myProject/node_modules/mySubApp/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib
@ ./~/mySubApp/~/socket.io-client/~/engine.io-client/~/ws/lib/Validation.js 10:19-44
ERROR in ./~/mySubApp/~/socket.io-client/~/engine.io-client/~/ws/lib/WebSocketServer.js
Module not found: Error: Cannot resolve module 'tls' in /u//WebStormProjects/myProject/node_modules/mySubApp/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib
@ ./~/mySubApp/~/socket.io-client/~/engine.io-client/~/ws/lib/WebSocketServer.js 15:10-24
ERROR in ./~/mySubApp/~/socket.io-client/~/engine.io-client/~/ws/~/options/lib/options.js
Module not found: Error: Cannot resolve module 'fs' in /u//WebStormProjects/myProject/node_modules/mySubApp/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/options/lib
@ ./~/mySubApp/~/socket.io-client/~/engine.io-client/~/ws/~/options/lib/options.js 6:9-22
+1
А пока рекомендую:
module: {
noParse: ['ws']
},
externals: ['ws']
пока мы не выясним лучшее решение
Причина, вероятно, в том, что опубликованный пакет на npm содержит файл webpack.config.js
которого не было с <= 1.4.0. Откуда это вообще? Я не вижу этого в репо.
Сборка Browserify тоже не работает. Принудительное использование 1.4.0 устраняет проблему.
Я случайно опубликовал этот файл. Я экспериментировал с отказом от браузера.
1.4.3
out.
Примечание для себя: следует явно установить files
в package.json
По-прежнему возникают те же проблемы с 1.4.3. Добавление:
module: {
noParse: ['ws']
},
externals: ['ws']
Хотя помогает.
Все еще сломан.
@Levino Я думаю, вам придется заставить браузер игнорировать / исключать ws, как там
Но любое решение лучше, чем этот обходной путь, будет тепло приветствоваться.
Сейчас я просто использую версию "~ 1.3.7" вместо "^ 1.3.7" в своих пакетах.
Переместил это с сервера в этот поток socket.io-client.
Был запущен 1.3.7 и использовал npm для обновления socket.io-client до 1.4.3.
Приложение использует только socket.io-client для подключения к игровому серверу (также обновлено до socket.io 1.4.3). Разрабатывается на windows 7.
Пробовал удалить через npm и переустановить. Не ожидал увидеть предупреждения и ошибки от socket.io-client и engine.io-client при запуске приложения.
Разве недостающие модули не должны быть частью пакета npm?
Предупреждения:
WARNING in ./~/socket.io-client/~/engine.io-client/~/ws/lib/BufferUtil.js
Module not found: Error: Cannot resolve module 'bufferutil' in C:\Data\captchatheprize.com\dev\gamewww\node_modules\socket.io-client\node_modules\engine.io-clie
nt\node_modules\ws\lib
@ ./~/socket.io-client/~/engine.io-client/~/ws/lib/BufferUtil.js 10:19-40
WARNING in ./~/socket.io-client/~/engine.io-client/~/ws/lib/Validation.js
Module not found: Error: Cannot resolve module 'utf-8-validate' in C:\Data\captchatheprize.com\dev\gamewww\node_modules\socket.io-client\node_modules\engine.io-
client\node_modules\ws\lib
@ ./~/socket.io-client/~/engine.io-client/~/ws/lib/Validation.js 10:19-44
Ошибки:
ERROR in ./~/socket.io-client/~/engine.io-client/~/ws/lib/WebSocketServer.js
Module not found: Error: Cannot resolve module 'tls' in C:\Data\captchatheprize.com\dev\gamewww\node_modules\socket.io-client\node_modules\engine.io-client\node
_modules\ws\lib
@ ./~/socket.io-client/~/engine.io-client/~/ws/lib/WebSocketServer.js 15:10-24
ERROR in ./~/socket.io-client/~/engine.io-client/~/ws/~/options/lib/options.js
Module not found: Error: Cannot resolve module 'fs' in C:\Data\captchatheprize.com\dev\gamewww\node_modules\socket.io-client\node_modules\engine.io-client\node_
modules\ws\node_modules\options\lib
@ ./~/socket.io-client/~/engine.io-client/~/ws/~/options/lib/options.js 6:9-22
@ADumaine Были ли у вас проблемы с 1.3.7? Если не просто продолжайте использовать его, пока эта проблема не будет решена.
@Levino No 1.3.7 не имел никаких проблем. 1.4.3 действительно работает. Он подключается к серверу и передает данные, но я все еще разрабатываю локально и не использую такие вещи, как tls. Я пока оставлю версию 1.4.3 и протестирую любые обновления или вернусь, если их нет и мы готовы к этапу.
Сегодня мы публикуем более постоянное исправление!
Большой.
1.4.4 Исправляет это для меня. Спасибо!
1.4.4 исправил это и для меня !. Использовал npm с @latest. Перезагрузили сервер, никаких предупреждений и ошибок не было.
Спасибо!
все еще проблема для меня, я обновился до последней версии socket.io-client, ws и webpack и получил следующее
WARNING in ./~/ws/lib/BufferUtil.js
Module not found: Error: Cannot resolve module 'bufferutil' in /home/test/Projects/B_Components/node_modules/ws/lib
@ ./~/ws/lib/BufferUtil.js 10:19-40
WARNING in ./~/ws/lib/Validation.js
Module not found: Error: Cannot resolve module 'utf-8-validate' in /home/test/Projects/B_Components/node_modules/ws/lib
@ ./~/ws/lib/Validation.js 10:19-44
WARNING in ./~/mymodule-services/~/sails.io.js/~/request/lib/optional.js
Critical dependencies:
3:11-26 the request of a dependency is an expression
@ ./~/mymodule-services/~/sails.io.js/~/request/lib/optional.js 3:11-26
webpack: bundle is now VALID.
@mrvini, пожалуйста, какие шаги нужно воспроизвести? У меня с сокетом следующее. [email protected] :
damien<strong i="8">@home</strong>:~/git/socket.io-client$ webpack . bundle.js
Hash: 321bb2158ab30d957364
Version: webpack 1.12.11
Time: 685ms
Asset Size Chunks Chunk Names
bundle.js 195 kB 0 [emitted] main
[0] ./lib/index.js 1.66 kB {0} [built]
[1] ./lib/url.js 1.61 kB {0} [built]
[14] ./lib/manager.js 12 kB {0} [built]
[43] ./lib/socket.js 7.54 kB {0} [built]
[46] ./lib/on.js 370 bytes {0} [built]
+ 46 hidden modules
@globexdesigns @ADumaine : сердце:
@darrachequesne , у меня следующая настройка
узел: v4.2.3
У меня есть локальный модуль, использующий библиотеки sails.io.js и socket.io-client.
sails.io.js: 0.12.2
socket.io-client: 1.4.4
Я включаю этот модуль в приложение и запускаю сервер webpack
webpack: 1.12.11
webpack-dev-сервер: 1.14.1
когда я запускаю webpack .bundle.js, все выглядит хорошо, однако, когда я пытаюсь запустить его как сервер разработчика webpack, он выдает ошибку, о которой я упоминал выше
@mrvini Мне очень жаль, похоже, я не могу воспроизвести:
damien<strong i="7">@home</strong>:~/test$ npm install [email protected]
[email protected] node_modules/socket.io-client
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected])
└── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
damien<strong i="8">@home</strong>:~/test$ webpack-dev-server --port 9000
Hash: 396f0bfb9d565b6f60f0
Version: webpack 1.12.11
Time: 19ms
webpack: bundle is now VALID.
http://localhost:9000/webpack-dev-server/
webpack result is served from /
content is served from /home/damien/test
Я что-то упустил?
Ой! Кажется, [email protected]
зависит от [email protected]
: ухмылка:: https://github.com/balderdashy/sails.io.js/blob/master/dependencies/socket.io.min.js# L1
Отсюда и проблема.
Спасибо @darrachequesne за то, что изучили это, вы правы, sails.io.js зависит от socket.io-client, но только как зависимости от разработчика, я считаю (в основном это зависит от запроса, который по какой-то причине вызывает основную проблему).
Critical dependencies:
3:11-26 the request of a dependency is an expression
@ ./~/mymodule-services/~/sails.io.js/~/request/lib/optional.js 3:11-26
К вашему сведению, странно то, что с WS версии 0.8.1 вроде работает
снова работает, спасибо!
То же самое ... отсутствует много зависимостей ...
ERROR in ./~/sails.io.js/~/request/request.js
Module not foun @ ./~/sails.io.js/~/request/request.js 30:10-24
ERROR in ./~/sails.io.js/~/request/~/forever-agent/index.js
Module not found
@ ./~/sails.io.js/~/request/~/forever-agent/index.js 6:10-24
ERROR in ./~/sails.io.js/~/request/~/forever-agent/index.js
Module not found: Error
@ ./~/sails.io.js/~/request/~/forever-agent/index.js 7:10-24
ERROR in ./~/sails.io.js/~/request/~/mime/mime.js
Module not found
@ ./~/sails.io.js/~/request/~/mime/mime.js 2:9-22
ERROR in ./~/socket.io-client/~/engine.io-client/~/ws/lib/WebSocketServer.js
Module not found
@ ./~/socket.io-client/~/engine.io-client/~/ws/lib/WebSocketServer.js 15:10-24
ERROR in ./~/socket.io-client/~/engine.io-client/~/ws/~/options/lib/options.js
Module not found
@ ./~/socket.io-client/~/engine.io-client/~/ws/~/options/lib/options.js 6:9-22
Я все еще вижу это:
[0] WARNING in ./~/sails.io.js/~/request/lib/optional.js
[0] Critical dependencies:
[0] 3:11-26 the request of a dependency is an expression
[0] @ ./~/sails.io.js/~/request/lib/optional.js 3:11-26
Пакеты:
"sails.io.js": "^0.13.3",
"socket.io": "^1.4.4",
"socket.io-client": "^1.4.4",
Я также пробовал эту конфигурацию веб-пакета:
module: {
noParse: ['ws']
},
externals: ['ws']
+1
+1
+1
В:
module: {
....
noParse: ['ws']
},
externals: ['ws']
не похоже, чтобы это исправить. Теперь модуль ws не определен.
webpack version : 1.13.0
socket.io-client version : 1.4.4
У меня тоже проблемы с версии 1.4.x
Мой пример проекта - это простое приложение TODO со следующими версиями:
Конфигурация Webpack
module: {
noParse: ['ws']
},
node: {
tls: "empty"
},
externals: ['fs','ws']
Это помогает удалить некоторые ошибки и предупреждения, но я все равно получаю следующее предупреждение и ошибки.
WARNING in ./~/socket.io-client/socket.io.js
Critical dependencies:
1:475-482 This seems to be a pre-built javascript file. Though this is possible, it's not recommended. Try to require the original source to get better results.
@ ./~/socket.io-client/socket.io.js 1:475-482
ERROR in ./~/socket.io-client/package.json
Module parse failed: C:\test\client\node_modules\socket.io-client\package.json Unexpected token (2:9)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (2:9)
at Parser.pp.raise (C:\test\client\node_modules\acorn\dist\acorn.js:920:13)
at Parser.pp.unexpected (C:\test\client\node_modules\acorn\dist\acorn.js:1483:8)
at Parser.pp.semicolon (C:\test\client\node_modules\acorn\dist\acorn.js:1462:73)
at Parser.pp.parseExpressionStatement (C:\test\client\node_modules\acorn\dist\acorn.js:1976:8)
at Parser.pp.parseStatement (C:\test\client\node_modules\acorn\dist\acorn.js:1754:188)
at Parser.pp.parseBlock (C:\test\client\node_modules\acorn\dist\acorn.js:1991:21)
at Parser.pp.parseStatement (C:\test\client\node_modules\acorn\dist\acorn.js:1735:19)
at Parser.pp.parseTopLevel (C:\test\client\node_modules\acorn\dist\acorn.js:1648:21)
at Parser.parse (C:\test\client\node_modules\acorn\dist\acorn.js:1616:17)
at Object.parse (C:\test\client\node_modules\acorn\dist\acorn.js:882:44)
@ ./~/socket.io/lib/index.js 10:20-55
ERROR in ./~/accepts/~/mime-db/db.json
Module parse failed: C:\test\client\node_modules\accepts\node_modules\mime-db\db.json Unexpected token (2:40)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (2:40)
at Parser.pp.raise (C:\test\client\node_modules\acorn\dist\acorn.js:920:13)
at Parser.pp.unexpected (C:\test\client\node_modules\acorn\dist\acorn.js:1483:8)
at Parser.pp.semicolon (C:\test\client\node_modules\acorn\dist\acorn.js:1462:73)
at Parser.pp.parseExpressionStatement (C:\test\client\node_modules\acorn\dist\acorn.js:1976:8)
at Parser.pp.parseStatement (C:\test\client\node_modules\acorn\dist\acorn.js:1754:188)
at Parser.pp.parseBlock (C:\test\client\node_modules\acorn\dist\acorn.js:1991:21)
at Parser.pp.parseStatement (C:\test\client\node_modules\acorn\dist\acorn.js:1735:19)
at Parser.pp.parseTopLevel (C:\test\client\node_modules\acorn\dist\acorn.js:1648:21)
at Parser.parse (C:\test\client\node_modules\acorn\dist\acorn.js:1616:17)
at Object.parse (C:\test\client\node_modules\acorn\dist\acorn.js:882:44)
@ ./~/accepts/~/mime-db/index.js 11:17-37
Но даже при отображении ошибок проект и сокет по-прежнему работают должным образом с несколькими браузерами.
Также добавлен образец Github TODO, если кто-то хочет воспроизвести ошибки.
У меня такая же проблема с 1.4.6. и получаю те же ошибки, что и @ghiscoding. Я добавил noParse
и externals
как описано выше в потоке. У меня есть очень простое приложение, которое может быть полезно для отладки.
Единственные зависимости опубликованного приложения:
"socket.io": "^1.4.6",
"socket.io-client": "^1.4.6"
Чтобы воспроизвести ошибки, загрузите репо, запустите npm install
затем запустите npm prepublish
@dbslone спасибо. У нас также должен быть тест в CI, который собирает проект с помощью webpack, чтобы избежать проблем в будущем.
Такие же предупреждения для Socket.IO 1.4.6, webpack 1.13.0.
WARNING in ./~/socket.io-client/socket.io.js
Critical dependencies:
1:475-482 This seems to be a pre-built javascript file. Though this is possible, it's not recommended. Try to require the original source to get better results.
@ ./~/socket.io-client/socket.io.js 1:475-482
WARNING in ./~/express/lib/view.js
Critical dependencies:
78:29-56 the request of a dependency is an expression
@ ./~/express/lib/view.js 78:29-56
WARNING in ./~/ws/lib/BufferUtil.js
Module not found: Error: Cannot resolve module 'bufferutil' in /home/rbozan/Git/mooiboymmo/server/node_modules/ws/lib
@ ./~/ws/lib/BufferUtil.js 10:19-40
WARNING in ./~/ws/lib/Validation.js
Module not found: Error: Cannot resolve module 'utf-8-validate' in /home/rbozan/Git/mooiboymmo/server/node_modules/ws/lib
@ ./~/ws/lib/Validation.js 10:19-44
var webpack = require("webpack");
module.exports = {
output: {
filename: "server.min.js"
},
target: "node",
module: {
loaders: [
{ test: /\.json$/, loader: "json-loader" }
]
}
};
Есть ли в настоящее время обходной путь для этого? Я пробовал добавить noParse
и externals
но все еще вижу ошибки прямо выше. Используя socket.io 1.4.6, webpack 1.13.1
import io from 'socket.io-client/socket.io'
кажется, работает для меня (в отличие от import io from 'socket.io'
)
Я все еще получаю
WARNING in ./~/socket.io-client/socket.io.js
Critical dependencies:
1:475-482 This seems to be a pre-built javascript file. Though this is possible, it's not recommended. Try to require the original source to get better results.
но ... по крайней мере, это работает
@WestleyArgentum Я тоже боролся с этим, но потом я прочитал, как использовать раздел в прочтении меня. пока вы используете socket.io на своем сервере, все должно быть в порядке
Автономная сборка socket.io-client автоматически предоставляется сервером socket.io как /socket.io/socket.io.js.
Я добавил <script type="text/javascript" charset="utf-8" src="/socket.io/socket.io.js"></script>
в заголовок своего html и документа, и он выставил io как глобальный, поэтому нет необходимости импортировать.
Socket.IO: 1.4.6
Webpack: 1.13.0
Webpack имеет цель в config.
WARNING in ./~/socket.io-client/socket.io.js
Critical dependencies:
1:475-482 This seems to be a pre-built javascript file. Though this is possible, it's not recommended. Try to require the original source to get better results.
@ ./~/socket.io-client/socket.io.js 1:475-482
WARNING in ./~/ws/lib/BufferUtil.js
Module not found: Error: Cannot resolve module 'bufferutil' in C:\maestro\frontend\node_modules\ws\lib
@ ./~/ws/lib/BufferUtil.js 10:19-40
WARNING in ./~/ws/lib/Validation.js
Module not found: Error: Cannot resolve module 'utf-8-validate' in C:\maestro\frontend\node_modules\ws\lib
@ ./~/ws/lib/Validation.js 10:19-44
Точно такая же проблема, как и у @omerts ... Кто-нибудь придумал исправление?
Это кажется смутно связанным с request / request / issues / 1529
Также получаем это с пакетами websocket
и ws
.
То же самое, получение этой ошибки с использованием ws
Socket.IO: 1.7.3
Webpack: 2.2.1
Модуль не найден: ошибка: не удается разрешить "socket.io-client / package"
@zweifisch ,
Тем не менее у меня есть «ПРЕДУПРЕЖДЕНИЕ в ./~/engine.io/lib/server.js. Критическая зависимость: запрос зависимости является выражением» и другие, похожие на те, что были от людей выше.
Я использую Angular2. Может конфиг поможет:
const path = require('path');
const ProgressPlugin = require('webpack/lib/ProgressPlugin');
const ProvidePlugin = require('webpack/lib/ProvidePlugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const autoprefixer = require('autoprefixer');
const postcssUrl = require('postcss-url');
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
const { NoEmitOnErrorsPlugin, LoaderOptionsPlugin, WatchIgnorePlugin } = require('webpack');
const { BaseHrefWebpackPlugin } = require('@angular/cli/plugins/webpack');
const { CommonsChunkPlugin } = require('webpack').optimize;
const { AotPlugin } = require('@ngtools/webpack');
const nodeModules = path.join(process.cwd(), 'node_modules');
const entryPoints = ["inline","polyfills","sw-register","styles","vendor","main"];
const baseHref = undefined;
const deployUrl = undefined;
module.exports = {
"devtool": "source-map",
"resolve": {
"extensions": [
".ts",
".js",
".json"
],
"modules": [
"./node_modules"
],
"alias": {
"config": "config/config.dev.js"
}
},
"resolveLoader": {
"modules": [
"./node_modules"
]
},
"entry": {
"main": [
"./app/main.ts"
],
"polyfills": [
"./app/polyfills.ts"
],
"styles": [
"./dist/style.dev.css"
]
},
"output": {
"path": path.join(process.cwd(), "dist/dev"),
"filename": "[name].bundle.js",
"sourceMapFilename": "[name].bundle.js.map",
"chunkFilename": "[id].chunk.js"
},
"module": {
"rules": [
{
"enforce": "pre",
"test": /\.js$/,
"loader": "source-map-loader",
"exclude": [
/\/node_modules\//
]
},
{
"test": /\.json$/,
"loader": "json-loader"
},
{
"test": /\.html$/,
"loader": "raw-loader"
},
{
"test": /\.(eot|svg)$/,
"loader": "file-loader?name=[name].[hash:20].[ext]"
},
{
"test": /\.(jpg|png|gif|otf|ttf|woff|woff2|cur|ani)$/,
"loader": "url-loader?name=[name].[hash:20].[ext]&limit=10000"
},
{
"exclude": [
path.join(process.cwd(), "dist/style.dev.css")
],
"test": /\.css$/,
"loaders": [
"exports-loader?module.exports.toString()",
"css-loader?{\"sourceMap\":true,\"importLoaders\":1}",
"postcss-loader"
]
},
{
"exclude": [
path.join(process.cwd(), "dist/style.dev.css")
],
"test": /\.less$/,
"loaders": [
"exports-loader?module.exports.toString()",
"css-loader?{\"sourceMap\":true,\"importLoaders\":1}",
"postcss-loader",
"less-loader"
]
},
{
"include": [
path.join(process.cwd(), "dist/style.dev.css")
],
"test": /\.css$/,
"loaders": ExtractTextPlugin.extract({
"use": [
"css-loader?{\"sourceMap\":false,\"importLoaders\":1}", // Don't make sourceMap true, because it will break fonts loading
"postcss-loader"
],
"fallback": "style-loader",
"publicPath": ""
})
},
{
"include": [
path.join(process.cwd(), "dist/style.dev.css")
],
"test": /\.less$/,
"loaders": ExtractTextPlugin.extract({
"use": [
"css-loader?{\"sourceMap\":false,\"importLoaders\":1}", // Don't make sourceMap true, because it will break fonts loading
"postcss-loader",
"less-loader"
],
"fallback": "style-loader",
"publicPath": ""
})
},
{
"test": /\.ts$/,
"loader": "@ngtools/webpack"
}
],
/*noParse: [
/\/ws\//,
/socket\.io\/lib\/index\.js/
]*/
},
"plugins": [
new NoEmitOnErrorsPlugin(),
new ProgressPlugin(),
new ProvidePlugin({
$:"jquery",
jQuery:"jquery"
}),
new HtmlWebpackPlugin({
"template": "./index.html",
"filename": "./index.html",
"hash": false,
"inject": true,
"compile": true,
"favicon": false,
"minify": false,
"cache": true,
"showErrors": true,
"chunks": "all",
"excludeChunks": [],
"title": "Webpack App",
"xhtml": true,
"chunksSortMode": function sort(left, right) {
let leftIndex = entryPoints.indexOf(left.names[0]);
let rightindex = entryPoints.indexOf(right.names[0]);
if (leftIndex > rightindex) {
return 1;
}
else if (leftIndex < rightindex) {
return -1;
}
else {
return 0;
}
}
}),
new BaseHrefWebpackPlugin({}),
new CommonsChunkPlugin({
"name": "inline",
"minChunks": null
}),
new CommonsChunkPlugin({
"name": "vendor",
"minChunks": (module) => module.resource && module.resource.startsWith(nodeModules),
"chunks": [
"main"
]
}),
new ExtractTextPlugin({
"filename": "[name].bundle.css",
"disable": true
}),
new LoaderOptionsPlugin({
"sourceMap": true,
"options": {
"postcss": [
autoprefixer(),
postcssUrl({"url": (URL) => {
// Only convert absolute URLs, which CSS-Loader won't process into require().
if (!URL.startsWith('/')) {
return URL;
}
// Join together base-href, deploy-url and the original URL.
// Also dedupe multiple slashes into single ones.
return `/${baseHref || ''}/${deployUrl || ''}/${URL}`.replace(/\/\/+/g, '/');
}})
],
"lessLoader": {
"sourceMap": true
},
"context": ""
}
}),
new AotPlugin({
"mainPath": "app/main.ts",
"hostReplacementPaths": {},
"exclude": [],
"tsConfigPath": "tsconfig.json",
"skipCodeGeneration": true
}),
new BundleAnalyzerPlugin({
analyzerMode: "static",
openAnalyzer: false,
reportFilename: 'analyzer/report.html',
}),
new WatchIgnorePlugin([
path.resolve(__dirname, './dist/dev/analyzer'),
path.resolve(__dirname, './node_modules'),
])
],
"node": {
"fs": "empty",
"global": true,
"crypto": "empty",
"tls": "empty",
"net": "empty",
"process": true,
"module": false,
"clearImmediate": false,
"setImmediate": false
}
};
Предупреждения пропали когда я включил
import * as io from "socket.io-client";
вместо того
import * as io from "socket.io";
Тем не менее, у меня поведение как в №1088. Минимальное приложение с ошибкой находится в этой теме.
_Edit: Решил мою проблему. Это было не из-за socket.io._
@metamaker Большое спасибо: +1:
Я получаю следующую ошибку с более поздними версиями socket.io и webpack 2
Module not found: Error: Can't resolve 'socket.io-client/package' in 'xxx/server2/node_modules/socket.io/lib'
Мне нужно изменить package --> package.json
в исходном файле socket.io lib / index.js, чтобы исправить это.
var clientVersion = require('socket.io-client/package.json').version;
webpack.config.js
let path = require('path');
const { GlobCopyWebpackPlugin } = require('@angular/cli/plugins/webpack');
module.exports = {
devtool: false,
resolve: {
modules: [
'node_modules',
path.resolve(__dirname, 'src')
],
extensions: ['.ts', '.js'],
alias: {
// FIXME: Module not found: Error: Can't resolve 'socket.io-client/package' in '/Developer/Work/iot/hub/server2/node_modules/socket.io/lib'
// "socket.io-client/package": "empty-module",
"hiredis": "empty-module",
}
},
target: 'node',
resolveLoader: {
modules: [
'node_modules'
]
},
entry: {
main: './src/index',
vendor: [
'nest.js',
'rxjs'
]
},
output: {
path: path.resolve(__dirname, './dist/build'),
filename: '[name].server.bundle.js',
chunkFilename: "[id].server.chunk.js"
},
module: {
rules: [
{ test: /\.ts$/, use: 'ts-loader' },
{ test: /\.json$/, loader: 'json-loader' },
{ test: /\.html$/, loader: 'raw-loader' },
{ test: /\.(eot|svg)$/, loader: 'file-loader?name=[name].[hash:20].[ext]' },
{ test: /\.js.map/, loader: 'raw-loader' },
]
},
"plugins": [
new GlobCopyWebpackPlugin({
"patterns": [
"config",
"data"
],
"globOptions": {
"cwd": "./",
"dot": true,
"ignore": "**/.gitkeep"
}
}),
]
};
См. Пример здесь: https://github.com/socketio/socket.io/tree/master/examples/webpack-build
Правильный синтаксис должен быть import io from 'socket.io-client';
Кроме того, ошибка Can't resolve 'socket.io-client/package'
должна быть исправлена https://github.com/socketio/socket.io/pull/2960.
Надеюсь, это поможет! Если нет, повторно откройте проблему с помощью примера, воспроизводящего проблему, спасибо!
@darrachequesne
когда я пытаюсь импортировать с
import io from 'socket.io-client'
TS сообщает мне, что у модуля нет экспорта по умолчанию
@crebuh
Добавьте типы для машинописного текста.
npm i @types/socket.io-client
@ kdw3lch
нет, это не работает. У меня уже были типы в версии 1.4.29, и я обновил socket.io-client с 1.7.3 до 2.0.3, все та же проблема.
может быть, мой tsconfig.json ошибочен, есть идеи?
@crebuh Надо было читать внимательнее!
import * as io from 'socket.io-client'
Я вижу эту проблему с webpack ^ 2.0.0 и без socket.io в пакете. Когда я запускаю карму, я получаю это.
Не уверен, что делать дальше. Отладка ITO.
добавление socket.io-client к зависимостям в моем package.json устранило проблему для меня
У меня была аналогичная проблема, когда я проверял существующий проект.
Я запускаю npm -i, все зависимости были установлены, но появляется такая ошибка:
"Не удается разрешить" engine.io-client ""
Исправлено установкой socket.io-client.
npm я socket.io-client
Самый полезный комментарий
Предупреждения пропали когда я включил
вместо того
Тем не менее, у меня поведение как в №1088. Минимальное приложение с ошибкой находится в этой теме.
_Edit: Решил мою проблему. Это было не из-за socket.io._