0

webpack設定でライブラリを使用して、ビルドを行っている個人のユーザ名を取得する必要があります。私はnpm 'username'パッケージを使用していますが、これは非同期であり、ユーザー名が取得されたときに約束を返します。webpack設定タイプとpromiseとenvironment関数を一緒に使うにはどうすればいいですか?

const username = require( 'username');

username()。then(username => {}); webpack documentationが約束を

module.exportsは=()=> { 新しい約束返す((解決リジェクト)=> {})}

を返すように構成の一のタイプを記述する

とCLIのコマンドラインから、環境変数を使用する構成の別のタイプの

module.exports = function(env){}

ただし、2つを一緒に使用する方法はありません。

私が読んインしてコマンドラインから環境変数をできるようにする必要があり--env=prod package.jsonにいくつかの試行錯誤の後

"scripts": { 
 
    "start": "webpack-dev-server --env=local --port=4200 --history-api-fallback", 
 
    "build": "webpack", 
 
    "build-dev": "rimraf dist && webpack --env=dev --colors --bail", 
 
    "build-prod": "rimraf dist && webpack -p --env=prod --colors --bail", 
 
    "test": "karma start ./karma.conf.js" 
 
    },

答えて

0

を次のようにCLIから設定、私はそれが環境変数を与える関数に設定されたエクスポートを持つことができますし、この関数は、約束自体を返すことができ、約束は、設定を返すことができる2つの設定ファイルの手法を組み合わせることができることがわかった。

このようにして、promiseの結果と環境変数の両方をwebpackの設定で利用できるようになります。

module.exports = function(env) { 
 
    console.log(`Building target environment: ${env}`); 
 

 
    return username().then(username => { 
 
     return { 
 
     "devtool": "source-map", 
 
     // ... original config here 
 
     }; 
 
    }); 
 
};

関連する問題