mirror of
https://github.com/zhigang1992/create-react-app.git
synced 2026-01-12 22:46:30 +08:00
* Extract some utilities into a separate package * Add utils dir to `files` in package.json * Do not create an empty `utils` dir on eject
39 lines
1.4 KiB
JavaScript
39 lines
1.4 KiB
JavaScript
// @remove-on-eject-begin
|
||
/**
|
||
* Copyright (c) 2015-present, Facebook, Inc.
|
||
* All rights reserved.
|
||
*
|
||
* This source code is licensed under the BSD-style license found in the
|
||
* LICENSE file in the root directory of this source tree. An additional grant
|
||
* of patent rights can be found in the PATENTS file in the same directory.
|
||
*/
|
||
// @remove-on-eject-end
|
||
|
||
// Grab NODE_ENV and REACT_APP_* environment variables and prepare them to be
|
||
// injected into the application via DefinePlugin in Webpack configuration.
|
||
|
||
var REACT_APP = /^REACT_APP_/i;
|
||
|
||
function getClientEnvironment(publicUrl) {
|
||
return Object
|
||
.keys(process.env)
|
||
.filter(key => REACT_APP.test(key))
|
||
.reduce((env, key) => {
|
||
env['process.env.' + key] = JSON.stringify(process.env[key]);
|
||
return env;
|
||
}, {
|
||
// Useful for determining whether we’re running in production mode.
|
||
// Most importantly, it switches React into the correct mode.
|
||
'process.env.NODE_ENV': JSON.stringify(
|
||
process.env.NODE_ENV || 'development'
|
||
),
|
||
// Useful for resolving the correct path to static assets in `public`.
|
||
// For example, <img src={process.env.PUBLIC_URL + '/img/logo.png'} />.
|
||
// This should only be used as an escape hatch. Normally you would put
|
||
// images into the `src` and `import` them in code to get their paths.
|
||
'process.env.PUBLIC_URL': JSON.stringify(publicUrl)
|
||
});
|
||
}
|
||
|
||
module.exports = getClientEnvironment;
|