Nativescript - Webpack не распознает определенные файлы отладки / выпуска - PullRequest
0 голосов
/ 13 июня 2019

У меня есть приложение NS Core, которое я только что обновил до NS 5. Я также следовал https://www.nativescript.org/blog/upgrading-to-nativescript-webpack-0.12.0, чтобы обновить проект для сборки с использованием веб-пакета.

У меня есть 2 файла, которые содержат всю конфигурациюпары ключ / значение для приложения.Они называются: config.debug.ts и config.release.ts.

Вот фрагмент того, как они выглядят:

export class Config {
    static constants = {
        INTERNAL_API_URL: '<some value>',
        INTERNAL_API_KEY: '<some value>',
        ...
        some more settings
    }

}

Проблема, с которой я сталкиваюсь, заключается в том, что для ссылки на этот файл используются такие выражения, как: var configModule = require ('../ config'); больше не работаютМне пришлось изменить его на import {Config} из '../config';.Однако при сборке приложения (используя Nativescript Sidekick с облаком, параметры выпуска) веб-пакет выдает ошибку:

Модуль не найден: Ошибка: не удается разрешить '../config'

Если я использую import {Config} из '../config.debug';, все работает как положено.

Вот мой package.json:

{
  "name": "<name>",
  "version": "4.0.0",
  "description": "<descr>",
  "license": "SEE LICENSE IN <your-license-filename>",
  "readme": "NativeScript Application",
  "repository": "<fill-your-repository-here>",
  "nativescript": {
    "id": "<id>",
    "tns-ios": {
      "version": "5.4.1"
    },
    "tns-android": {
      "version": "5.4.0"
    }
  },
  "dependencies": {
    "moment": "2.20.1",
    "moment-timezone": "0.5.14",
    "nativescript-appversion": "1.4.1",
    "nativescript-email": "1.5.1",
    "nativescript-exit": "1.0.1",
    "nativescript-fingerprint-auth": "6.2.0",
    "nativescript-iqkeyboardmanager": "1.2.0",
    "nativescript-loading-indicator": "2.4.0",
    "nativescript-masked-text-field": "2.0.2",
    "nativescript-numeric-keyboard": "4.2.3",
    "nativescript-pdf-view": "2.0.1",
    "nativescript-phone": "1.4.0",
    "nativescript-push-notifications": "1.1.4",
    "nativescript-theme-core": "1.0.4",
    "nativescript-ui-calendar": "^3.5.1",
    "nativescript-zendesk-sdk": "0.2.0",
    "tns-core-modules": "^5.3.2"
  },
  "devDependencies": {
    "babel-traverse": "6.4.5",
    "babel-types": "6.4.5",
    "babylon": "6.4.5",
    "lazy": "1.0.11",
    "nativescript-dev-typescript": "0.10.0",
    "nativescript-dev-webpack": "0.24.1",
    "tns-platform-declarations": "^3.4.0",
    "typescript": "3.4.3"
  }
}

Я никогда не работал с веб-пакетом, поэтому я не уверен, как настроить его для динамического выбора конфигурации отладки / выпуска.

Спасибо.

1 Ответ

0 голосов
/ 13 июня 2019

Конфигурация веб-пакета по умолчанию не поддерживает обработку определенных файлов среды. Вместо этого вы можете использовать переменные окружения .

Или вы можете использовать CopyWebpackPlugin для копирования определенного файла среды на основе переменной среды, которую вы передаете из CLI.

Например, --env.name=debug на основе имени вы можете указать конкретный путь к файлу, который будет скопирован в CopyWebpackPlugin setup.

Также есть плагин nativescript-app-environment , альтернатива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...