LINUX.ORG.RU

На проде криво собирается проект

 , , ,


0

1

Есть репозиторий. В него я пушу свой код. Есть сервер со скриптиком, который тянет реп, и делает npm run build.

Проблема следующая - при сборке на сервере есть какие-то косяки с форматируемыми строками. Например:

const a = 1;
const b = 2;
const str = `${a} ${b}`;

// При сборке на локалке
// '1 2'

// При сборке на сервере
// '12'

Конфиг вебпака:

const path = require('path');

const HtmlWebpackPlugin = require('html-webpack-plugin');
const HtmlWebpackPluginConfig = new HtmlWebpackPlugin({
  pkg: require("./package.json"),
  template: './public/index.html',
  filename: 'index.html',
  inject: 'body'
});

const MinifyPlugin = require("babel-minify-webpack-plugin");
const MinifyPluginConfig = new MinifyPlugin();

const NodeEnv = new webpack.DefinePlugin({
  'process.env': {
    'NODE_ENV': JSON.stringify('production')
  }
});

module.exports = {
  entry: './src/index.js',
  output: {
    path: path.resolve('build'),
    filename: 'index_bundle.js'
  },
  module: {
    loaders: [
      { 
        test: /\.js$/, 
        loader: 'babel-loader', 
        exclude: /node_modules/,
        query: {
          presets: [ 'es2017', 'react', 'stage-2' ]
        }
      },
      { 
        test: /\.css$/,
        loader: 'style-loader!css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]',
        exclude: /node_modules/ 
      }
    ]
  },
  plugins: [HtmlWebpackPluginConfig, MinifyPluginConfig, NodeEnv]
}
В чем проблема?

Deleted

Локально тоже с минификацией собирается?

Deleted ()
Ответ на: комментарий от Deleted

npm run build включает в себя rm -rf ./node_modules и npm i?
Собственно если на локалке все ок, то проблема со средой сборки. Так что проверяй версии с которыми собирается в проде. Рекомендую еще и одинаковые версии node.js иметь и там и там.

Deleted ()
Ответ на: комментарий от Deleted

rm -rf ./node_modules

Спасибо, это решило все проблемы.

Deleted ()
Ответ на: комментарий от Deleted

package-lock.json - может как избавить вас от этой проблемы, так и наградить ею (и rm -rf ./node_modules не поможет)

dib2 ★★★★★ ()
Ответ на: комментарий от dib2

От проблемы может спасти только указание строгих версий зависимостей и сборка в чистой среде. package-lock.json невнятный костыль, который спасает вебмакак от неумения пользоваться Semantic Versioning.

Deleted ()
Ответ на: комментарий от Deleted

указание строгих версий зависимостей

package-lock этим и занимается.

но, правильно замечено, проблема не в инструменте, а в макаках.

dib2 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.