используйте переменные окружения в next.config.js из .serverless.yml - PullRequest
0 голосов
/ 30 сентября 2019

Я развертываю Next.js с Serverless Framework.

и пытаюсь разделить режим развертывания development, stage и production.

Для достиженияя настроил serverless.yml.

provider:
  name: aws
  runtime: nodejs8.10
  region: ${file(./sls-variables.yml):region}
  stage: ${opt:stage, 'development'}
  environment:
    NODE_ENV: ${opt:stage, 'development'}
    NODE_SLS: true

и отредактировал next.config.js

const path = require("path");
// next.config.js
const withSass = require("@zeit/next-sass");
module.exports = withSass({
  /* config options here */
  assertPrefix: "SOMETHING",
  sassLoaderOptions: {
    includePaths: ["absolute/path/a", "absolute/path/b"]
  },
  webpack(config, options) {
    config.module.rules.push({
      test: /\.(eot|woff|woff2|ttf|svg|png|jpg|gif)$/,
      use: {
        loader: 'url-loader',
        options: {
          limit: 100000,
          name: '[name].[ext]'
        }
      }
    })
    config.resolve.alias["components"] = path.join(__dirname, "components");
    config.resolve.alias["utils"] = path.join(__dirname, "utils");
    return config;
  },
  env: {
    'iamport': {
      'merchant_id': process.env.NODE_ENV === "production" ? "PROD_ID" : "DEV_ID"
    },
    'baseUrl': process.env.NODE_ENV === "production" ? "PROD_URL" : "DEV_URL"
  }
});

, и я утешил process.env.NODE_ENV в app.js, я мог видеть только "production "

Мой вопрос: как я могу прикоснуться к process.env.NODE_ENV или другим вещам, которые я настроил?

...