Я настраиваю среду разработки Javascript для себя.Я не знаю много об этом, но я использую Webpack
и Babel
в настройке.После долгих поисков я, наконец, получил компиляцию и запуск Webpack, где я мог загрузить простую страницу реакции.
Теперь я создал Dockerfile для запуска моей работы над изображением.Это очень просто: загрузить файлы, открыть порт и запустить сервер разработки.Но когда я пытаюсь получить доступ к сайту, я получаю ответ ERR_SOCKET_NOT_CONNECTED .Нет ошибок в Webpack.
Dockerfile
FROM node:8-alpine
WORKDIR /
EXPOSE 3000
COPY . /frontend
WORKDIR /frontend
CMD [ "npm", "run", "dev" ]
Webpack.dev.js
const webpack = require('webpack');
const webpackDevServer = require('webpack-dev-server');
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
devtool: 'source-map',
entry: {
app: './src/index.js',
vendor: ['react', 'react-dom', 'react-router-dom', 'semantic- ui-react']
},
output: {
path: __dirname + '/src/dev',
filename: '[name].js'
},
devServer: {
port: 3000
},
resolve: {
alias: {
'../../theme.config$': path.join(__dirname, 'src/semantic-ui/theme.config')
}
},
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: ['babel-loader']
},
{
test: /\.(png|jpg|gif|svg|eot|ttf|woff|woff2)$/,
use: {
loader: 'url-loader',
options: {
limit: 100000,
},
},
},
{
test: /\.less$/,
use: ['style-loader', 'css-loader', 'less-loader']
}
]
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.optimize.CommonsChunkPlugin({
name: "vendor",
minChunks: Infinity
}),
new HtmlWebpackPlugin({
template: './src/index.html',
filename: path.resolve(__dirname, './src/dev/index.html'),
})
]
}
Комучестно говоря, я не уверен, о чем идет речь в этом конфигурационном файле, так как я скопировал его у коллеги по работе и сделал все необходимые настройки.Но однажды я собрал и запустил Webpack, я был счастлив и оставил все как есть.
Вот команда, которую я использую для запуска контейнера docker container run --rm -p 3000:3000 frontend
Нет ошибок, отображаемых на контейнере из Webpack, и я правильно выставил порты, поэтому я не знаю, почему этоне работает или если это проблема с докером или проблема с веб-пакетом.Любая помощь будет принята с благодарностью