Webpack может скомпилировать исходный файл в выходной путь - PullRequest
0 голосов
/ 11 апреля 2019

Я написал файл webpack.config.babel.js и хочу скомпилировать некоторый код с помощью babel с указанным файлом.

Но после выполнения кода (без предупреждений и ошибок) в пути вывода нет скомпилированных файлов.

С помощью команды webpack --config webpack.config.babel.js (и, конечно, .babelrc) компиляция задачи успешно завершается, и в папке 'dist /' есть скомпилированные файлы, которые указаны в webpack.config.babel.js. Но «dist /» ничего не содержит.

webpack.config.babel.js (примечание: этот файл написан с синтаксисом es2015)

import path from 'path';
import webpack from 'webpack';

export default {
  devtool: '#source-map',
  entry: [
    'webpack-hot-middleware/client?noInfo=true&reload=true',
    path.resolve(__dirname, '../src/views/index.jsx'),
  ],
  output: {
    path: path.resolve(__dirname, '../dist'),
    filename: 'client.js',
    publicPath: '/dist',
  },
  module: {
    rules: [
      {
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
        },
      },
    ],
  },
  plugins: [
    new webpack.HotModuleReplacementPlugin(),
  ],
};

исходный код : Я пытаюсь собрать пакет с помощью webpack-dev-middleware и webpack-hot-middleware, если я нахожусь в режиме разработки.

server.js

const app = express();
app.use(express.static('./'));

if (process.env.NODE_ENV === 'development') {
  setupDevServer(app); // this function contains setup.dev.server.js
}

....

setup.dev.server.js ( setupDevServer * функция выше 1028 * ())

import webpack from 'webpack';
// import MemoryFS from 'memory-fs';
import webpackDevMiddleware from 'webpack-dev-middleware';
import webpackHotMiddleware from 'webpack-hot-middleware';
// import webpackServerConfig from './webpack.server.config.babel';
import webpackClientConfig from './webpack.client.config.babel';

export default function (express) {
  const clientCompiler = webpack(webpackClientConfig);
  // const serverCompiler = webpack(webpackServerConfig);

  express.use(
    webpackDevMiddleware(
      clientCompiler,
      {
        publicPath: webpackClientConfig.output.publicPath,
        noInfo: false,
      },
    ),
  );
  express.use(
    webpackHotMiddleware(clientCompiler),
  );
  // serverCompiler.outputFileSystem = new MemoryFS();

  clientCompiler.run( // for debug purpose
    (error, stats) => {
      console.log(error, stats); // and there will be an error 'can not run webpack twice'
    },
  );
}

После выполнения setupDevServer() должны быть скомпилированные файлы. Но там ничего нет. В моей консоли нет предупреждений или сообщений об ошибках, а в папке 'dist /' нет скомпилированных файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...