Развертывание приложения в Heroku с исходными картами - PullRequest
0 голосов
/ 15 мая 2018

Все отлично работает локально.Я включил исходные карты в конфигурацию моего веб-пакета, и файл .map создан.Проблема в том, когда я нажимаю приложение на Heroku.Если я проверяю элемент, я вижу, что исходные карты не включены.Я минимизирую свой код, поэтому ничто не находится там, где он должен быть без исходных карт.
Как мне развернуть в Heroku с исходными картами?

РЕДАКТИРОВАТЬ:

webpack config

devtool: 'source-map',
module: {
    rules: [
      {
        test: /\.(js|jsx)$/,
        loader: 'babel-loader',
        exclude: /node_modules|dist|build/,
        options: {
          babelrc: true,
        },
      },
      {
        test: /\.local\.(css|scss)$/,
        use: ExtractLocal.extract({
          fallback: 'style-loader?sourceMap',
          use: [
            {
              loader: 'css-loader',
              options: {
                sourceMap: true,
                minimize: true,
                modules: true,
                importLoaders: 1,
                localIdentName: '[local]___[name]__[hash:base64:5]',
              },
            },
            {
              loader: 'postcss-loader',
              options: {
                sourceMap: true,
              },
            },
            {
              loader: 'sass-loader',
              options: {
                sourceMap: true,
              },
            },
            {
              loader: 'sass-resources-loader',
              options: {
                resources: [ path.resolve(__dirname, './src/client/styling/styles/variables.scss'), ],
              },
            },
          ],
        }),
      },
     ],
  },
   plugins: [
    // new BundleAnalyzerPlugin(),
    new webpack.optimize.UglifyJsPlugin({
      sourceMap: true,
    }),
    new webpack.DefinePlugin({
      'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV),
    }),
   ]

package.json

"build-client": "cross-env NODE_ENV=production webpack --config webpack.config.prod.js",
"start": "cross-env NODE_ENV=production node ./src/build/bundle.js",

ЕслиЯ обновляю свое приложение на heroku и запускаю логи heroku. Я получаю следующие ошибки, касающиеся исходных карт.H12 Запрос времени ожидания.Итак, исходные карты есть, но они не загружаются Heroku.

enter image description here

РЕШЕНИЕ Хорошо, я обнаружил проблему.Это был Nginx , а не Heroku.Я использую его между моим приложением Heroku и сервером.Конфигурация была настроена следующим образом.

location ~* \.(js|css|gif|png|jpg|ico|svg|eot|ttf|otf|woff|woff2|json|xml)$ {
            root                 "/app/src/dist/";
            add_header         Pragma public;
            add_header         Cache-Control public;
      expires            1y;
      gzip_static        on;
      gzip               off;
      log_not_found      off;
      access_log         off;
 }

Как видите, расширения map нет, поэтому оно не загружалось.После того, как я его добавил, все стало работать нормально.

...