Эссе по фронтенд-разработкеNODE_ENVзнания иwebpackОтношение
NODE_ENV
node.jsродной объектprocessизenvСвойство является объектом (среда Mac):
process.env.NODE_ENV
очевидно,NODE_ENVимущества нетprocess.envобъект, но может быть известен буквально (среда узла), что означаетnode.js 环境.
использовать
express.jsЭта переменная впервые используется в , а затем продвигается и популяризируется для всего фронтенд-сообщества.
Его основное назначение: при использованииnode.jsвыполнение средыJavaScript 脚本, используйте это свойство, чтобы различать стратегии обработки (сборки, запуска и т. д.) в разных средах (разработка, производство, тестирование и т. д.).
Его два наиболее распространенных значения:
process.env.NODE_ENV === 'development'; // 或简写 dev,意为开发环境
process.env.NODE_ENV === 'production'; // 或简写 prod,意为生产环境
как пользоваться
в настоящее время используетnpmВ корневом каталоге построенного внешнего проектаpackage.jsonсерединаscriptsСвойство — это объект, имя каждого ключа которого доступно в командной строке (уже установленныйnode.jsи добавьте команду в переменную окружения)npm run 键名для запуска, а фактическая команда для запуска является значением ключа:
{
"scripts": {
"dev": "webpack --config webpack.dev.config.js"
}
}
$ npm run dev
Фактическая команда для запускаwebpack --config webpack.dev.config.js, мы модифицируем键值:
{
"scripts": {
"dev": "NODE_ENV=development webpack --config webpack.dev.config.js"
}
}
так положиNODE_ENVсвойство вводится вprocess.envобъект, а значениеdevelopment,мытолько можетсуществуетwebpack.dev.config.jsв сценарии ив скрипте он импортируетдоступ кprocess.env.NODE_ENV, и к ним нельзя получить доступ в других сценариях.
существуетwebpackиспользовать в
Текущий интерфейсный проект используетwebpackВ основном используется для создания одностраничных приложений,入口脚本文件Он будет ссылаться на другие файлы сценариев проекта в древовидной структуре.
иwebpackсправиться с этим入口脚本文件и связанные с ним файлы сценариев недоступны, посколькуwebpack.dev.config.jsпредусмотрено сценариемprocess.env.NODE_ENVсобственность, но может бытьwebpackплагин, чтобы сделать эти файлы скриптов доступнымиprocess.env.NODE_ENV:
const webpack = require('webpack');
module.exports = {
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV': '"development"'
})
]
}
Наконец
Спасибо за чтение, и, пожалуйста, поправьте меня, если я ошибаюсь!