«Неожиданный токен:» при импорте json в машинописный текст как внешний модуль в веб-пакете - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь импортировать файл JSON как типизированный объект в моем проекте React.js. Причина, по которой я не импортирую файл json напрямую в исходный код, заключается в том, что позже я хочу, чтобы webpack решил, какой файл конфигурации следует импортировать, основываясь на настройках среды.

Файл JSON:

{
    "baseUrl": "crm.dev",
    "endpoints": {
        "getOptions": "getoptionsurl",
        "addOptionToApplication": "",
        "deleteOptionFromApplication": ""
    }
}

Я определил модуль JSON в конфигурации внешнего вида моего веб-пакета следующим образом:

...
externals: {
    crmConfig: path.join(APP_PATH, "/config/crmConfig.prod.json")
}

И я определил модуль в моих typings.d.ts как:

declare module "crmConfig" {
    export interface CrmConfig {
        baseUrl: string
        endpoints: {
            getOptions: string
            addOptionToApplication: string
            deleteOptionFromApplication: string            
        }
    }

    const crmConfig: CrmConfig
    export default crmConfig
}

Когда я пытаюсь импортировать модуль и регистрировать объект следующим образом:

import crmConfig from "crmConfig";

console.log(crmConfig)

Я получаю следующую ошибку:

Uncaught SyntaxError: Unexpected token :
    at Object.crmConfig (bundle.js:4709)
    at __webpack_require__ (bundle.js:20)
    at eval (index.ts:5)
    at Module../src/stores/index.ts (bundle.js:4687)
    at __webpack_require__ (bundle.js:20)
    at eval (App.tsx:7)
    at Module../src/components/App/App.tsx (bundle.js:4616)
    at __webpack_require__ (bundle.js:20)
    at eval (index.tsx:6)
    at Module../src/index.tsx (bundle.js:4663)

Файл JSON, кажется, действителен, поэтому я не могу точно определить, где я что-то делаю не так. У кого-нибудь есть предложения?

Заранее спасибо

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