1
から必要とします。私はUSE_MOCK=true npm run dev
またはnpm run dev
で私のアプリを起動するためにこれを使ってモックデータで実行するかどうかを決めます。ストリップ動的私はこのようなコードを有するWebPACKの
Webpackは、UglifyJSのデッドコード消去を使用してビルドプロセスでこれらの動的な要求を削除したいと考えていますが、それらが残っていることに気づき、something.js
がビルドされたバンドルに含まれます。
私の場合、出力は次のようになります。
module.exports = {
something: true,
mockData: (false) && __webpack_require__(181).default
};
は私がバンドルから完全にそのインポートを削除することができますどのような方法はありますか?
Btw。私はこのような何かがうまくいくと思う:
let mockData;
if (process.env.USE_MOCK) {
mockData = require('./mocks/something.js').default;
}
export default {
something: true,
mockData
};
私はそのパターンにかなりの数回を持っているように、しかし必要とインラインを好むだろう。
export default {
something: true,
mockData: process.env.USE_MOCK ? require('./mocks/something.js').default : undefined
};
または別々のモジュールのエクスポートを構築:
を実際に、三項演算子は、トリックを行いました。 'process.env.USE_MOCK? require( './ mocks/something.js')。default:null'も動作し、少し短くなります。ありがとう! – amann