Различное значение переменной svelte для npm run dev и npm run build

Я разрабатываю сайт svelte+tailwind+PHP с помощью rollup.js. Как я могу установить переменную в исходных файлах svelte в зависимости от того, использую ли я npm run dev или npm run build? Я бы хотел, чтобы разные сборки подключались к разным внутренним серверам.

Это мой package.json, если это уместно. Я новичок в большинстве этих инструментов, поэтому, пожалуйста, потерпите меня и поправьте меня, если я слишком многого не понял. После запуска npm run build я запускаю скрипт, который отправляет папку сборки на производственный сервер.

{
  "name": "my-app",
  "version": "1.0.0",
  "scripts": {
    "watch:tailwind": "postcss public/tailwind.css -o public/index.css -w",
    "build:tailwind": "NODE_ENV=production postcss public/tailwind.css -o public/index.css",
    "dev": "run-p autobuild watch:tailwind",
    "build": "npm run build:tailwind && rollup -c",
    "start": "sirv public --single --host",
    "start:dev": "sirv public --single --dev",
    "autobuild": "rollup -c -w"
  },
  "devDependencies": {
    "@rollup/plugin-commonjs": "^16.0.0",
    "@rollup/plugin-node-resolve": "^10.0.0",
    "autoprefixer": "^10.0.4",
    "d3-interpolate": "^2.0.1",
    "npm-run-all": "^4.1.5",
    "postcss": "^8.1.10",
    "postcss-cli": "^8.3.0",
    "postcss-nested": "^5.0.1",
    "postcss-reporter": "^7.0.2",
    "rollup": "^2.3.4",
    "rollup-plugin-css-only": "^3.0.0",
    "rollup-plugin-livereload": "^2.0.0",
    "rollup-plugin-svelte": "^7.0.0",
    "rollup-plugin-terser": "^7.0.0",
    "svelte": "^3.0.0",
    "svelte-dnd-action": "^0.6.22",
    "svelte-loading-spinners": "^0.1.1",
    "tailwindcss": "^2.0.1"
  },
  "dependencies": {
    "sirv-cli": "^1.0.0"
  }
}
Настройка шаблона Metronic с помощью Webpack и Gulp
Настройка шаблона Metronic с помощью Webpack и Gulp
Я пишу эту статью, чтобы поделиться тем, как настроить макет Metronic с помощью Sass, поскольку Metronic предоставляет так много документации, и они...
1
0
703
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать @rollup/plugin-replace:

Плагин Rollup, который заменяет строки в файлах при объединении.

plugins: [
    replace({
      // alternatively, one could pass process.env.NODE_ENV or 'development` to stringify
      'process.env.NODE_ENV': JSON.stringify('production')
    })
  ]

Другие вопросы по теме