मैं ENV को Next.js में सेट करने का प्रयास कर रहा हूं

अगला.config.js

const TsconfigPathsPlugin = require("tsconfig-paths-webpack-plugin");
const withSass = require('@zeit/next-sass');
module.exports = withSass({
  target: 'serverless',
  env: {
    DEPLOY_STAGE: stage, // How can I set this dynamically when I deploy it at cli
  },
  webpack: (config, options) => {
    if (config.resolve.plugins) {
      config.resolve.plugins.push(new TsconfigPathsPlugin());
    } else {
      config.resolve.plugins = [new TsconfigPathsPlugin()];
    }

    return config;
  }
});

अब मैं अपने प्रोजेक्ट को इस cmd . के साथ परिनियोजित कर रहा हूँ

sls deploy --stage dev | sls deploy --stage prod

मैं DEPLOY_STAGE को गतिशील रूप से कैसे सेट कर सकता हूं?

0
kyun 25 मार्च 2020, 04:18

2 जवाब

सबसे बढ़िया उत्तर

आप अपने आदेशों को उपसर्ग भी कर सकते हैं, जैसे;

STAGE="dev" sls deploy
const TsconfigPathsPlugin = require("tsconfig-paths-webpack-plugin");
const withSass = require('@zeit/next-sass');
module.exports = withSass({
  target: 'serverless',
  env: {
    DEPLOY_STAGE: process.env.STAGE
  },
  webpack: (config, options) => {
    if (config.resolve.plugins) {
      config.resolve.plugins.push(new TsconfigPathsPlugin());
    } else {
      config.resolve.plugins = [new TsconfigPathsPlugin()];
    }

    return config;
  }
});
1
Paul van Dyk 25 मार्च 2020, 17:18

ये कोशिश करें

env: {
    DEPLOY_STAGE: process.env.NODE_ENV,
},
0
iamhuynq 25 मार्च 2020, 06:32
आपकी टिप्पणी के लिए धन्यवाद, लेकिन यह उतना काम नहीं करता जितना मैंने उम्मीद की थी। सभी तैनात Next.js प्रोजेक्ट में NODE_ENV यानी production हैं।
 – 
kyun
25 मार्च 2020, 07:12