Интеграция существующего проекта «Реакция / Веб-пакет» с использованием Веб-упаковщика - PullRequest
0 голосов
/ 09 октября 2018

У меня есть приложение activjs, которое я хочу интегрировать в только что созданный проект rails webpacker.

Нужно ли как-то перевести приведенный ниже файл webpack.config.dev.js ниже в мой webpacker.ymlфайл?

Я не уверен, что веб-упаковщик делает из коробки, и надеюсь, что кто-то, кто сделал это раньше, может пролить свет.

var path = require('path');
var process = require('process');
var webpack = require('webpack');
var _ = require('./webpack.config.dev.js');
var _package = require('./package.json');

_.entry = './src/index';
_.plugins = [
  new webpack.DefinePlugin({
    'process.env': {
      'NODE_ENV': JSON.stringify('production')
    },
    'ENV_DEVTOOLS_DISABLED': JSON.stringify(process.env.DEVTOOLS_DISABLED),
    'ENV_API_ROOT': JSON.stringify(process.env.API_ROOT),
    'ENV_APP_ROOT': JSON.stringify(process.env.APP_ROOT),
    'ENV_VERSION': JSON.stringify(_package.version)
  }),
  new webpack.optimize.UglifyJsPlugin({
    sourceMap: true,
    compressor: {
      warnings: false
    }
  }),
  // new webpack.optimize.AggressiveMergingPlugin()
];

module.exports = _;

Я бы сослался на это в своем приложении узла запуска:

var express = require('express');
var path = require('path');
var process = require('process');
var webpack = require('webpack');
var config = require('../webpack.config.dev');

var app = express();
var compiler = webpack(config);


app.use(require('webpack-dev-middleware')(compiler, {
  noInfo: true,
  publicPath: config.output.publicPath
}));

app.use(require('webpack-hot-middleware')(compiler));

app.get('*', function(req, res) {
  res.sendFile(path.join(__dirname, '../src/index.html'));
});

var port = process.env.MANAGER_PORT || 4044;

app.listen(port, 'example.com', function(err) {
  if (err) {
    console.log(err);
    return;
  }

  console.log('Listening at http://localhost:' + port);
});
...