Я использую Nuxt JS 2.4.5 и создаю статический веб-сайт в режиме SPA, где запуск npm run build && npm run generate
сгенерирует мой веб-сайт в каталоге dist/
.
Я пытаюсь выяснить, как я могу сделать оператор if () {} else {}
в mounted()
или created()
, чтобы проверить, запускаю ли я свой проект в режиме разработки или в режиме производства / создания веб-сайта, чтобы я мог включить фрагмент Google Analytics или условно отобразить другой контент на странице в зависимости от режима.
Я просмотрел документацию и обнаружил следующее: https://nuxtjs.org/api/configuration-dev, который, похоже, мне поможет, но пока не применял это на практике, так как не уверен в лучший подход и ищу руководство или пример.
Я потенциально думаю попробовать следующее:
Макеты / default.vue
...
mounted () {
if (process.env.NODE_ENV == 'production') {
// run code on generated static site, e.g: Google Analytics
} else {
// run code if in dev mode, e.g: http://localhost:3000/
}
}
...
... а затем в моем файле package.json
мне нужно было бы потенциально установить рабочий режим с помощью команды generate , которая создает сайт с помощью: NODE_ENV=production
package.json
"scripts": {
"dev": "nuxt",
"build": "nuxt build",
"start": "nuxt start",
"generate": "NODE_ENV=production nuxt generate"
}
Если я тогда запусту npm run build && npm run generate
, он должен создать мой статический веб-сайт, и код Google Analytics должен работать.
Мне бы очень хотелось узнать, как другие люди делают это и их решения, я пытаюсь заставить Google Analytics работать на каждой странице, и, таким образом, каталог раскладок кажется хорошим местом для размещения кода.