Visualforce-angular 6: файл assets / i18n / en.json не извлекается из статического ресурса - PullRequest
0 голосов
/ 12 февраля 2019

У нас есть приложение Angular 6, которое мы пытаемся вызвать с помощью страницы visualforce (Salesforce).

Мы создали статический ресурс для папки 'dist' и включили файлы js в страницу vf.

все работает нормально, за исключением: мы используем переводы, которые хранятся в файле '/assets/i18n/en.json', файл angular's main.js автоматически запрашивает загрузку переводов en.json.

Thisработает нормально на localhost, но когда мы пытаемся сделать то же самое на странице vf, мы получаем ошибку:

SyntaxError: неожиданный токен <в JSON в позиции 2↵ в JSON.parse () ↵ в XMLHttpRequest.u (<a href="https://c.cs111.visual.force.com/resource/1549953043000/test_map/main.js" rel="nofollow noreferrer">https://c.cs111.visual.force.com/resource/1549953043000/test_map/main.js.

Мы попытались явно загрузить файл en.json, используя, но не работали, попытались переименовать папку активов.

<apex:page controller="AngularDemoController" sidebar="false">
<apex:variable value="{!IF($CurrentPage.Parameters.local == 'true','https://localhost:4200',URLFOR($Resource.test_map))}"
               var="resourceURL"/>
<app-root id="app"></app-root>
<script>
    var Visualforce = Visualforce;
    var resourceURL = '{!resourceURL}';

    function salesForceCallbackForSave(event) {
        console.log('Js event callback', event);
        const promise = new $.Deferred;
        setTimeout(function () {
            // promise.reject({message: 'This is salesforce message'})
            promise.resolve()
        });
        return promise
    }

    const data = {
        preSelectedAddress: "Westlock County, AB, CA,",
        latitude: "58.859223547066584",
        longitude: "-102.48046875",
        userName: "Shivshankar Alkondwar",
        isSandbox: true
    };
    let input = document.getElementById("app");
    const dataString = JSON.stringify(data);
    input.setAttribute('pluginSetting', dataString);
    input.setAttribute('useAsSalesForcePlugin', 'true')
</script>
<apex:includeScript value="{!resourceURL + '/runtime.js'}"/>
<apex:includeScript value="{!resourceURL + '/polyfills.js'}"/>
<apex:includeScript value="{!resourceURL + '/styles.js'}"/>
<apex:includeScript value="{!resourceURL + '/scripts.js'}"/>
<link href='https://api.tiles.mapbox.com/mapbox.js/v2.2.1/mapbox.css' rel='stylesheet'/>
<link href="https://cartodb-libs.global.ssl.fastly.net/cartodb.js/v3/3.15/themes/css/cartodb.css" rel="stylesheet"/>
<script src="{!resourceURL + '/main.js'}" type="text/javascript"></script>
<apex:includeScript value="{!resourceURL + '/2.js'}"/>
<apex:includeScript value="{!resourceURL + '/3.js'}"/>
<apex:includeScript value="{!resourceURL + '/7.js'}"/>
<apex:includeScript value="{!resourceURL + '/8.js'}"/>
<apex:includeScript value="{!resourceURL + '/9.js'}"/>
<apex:includeScript value="{!resourceURL + '/10.js'}"/>
<apex:includeScript value="{!resourceURL + '/11.js'}"/>
<apex:includeScript value="{!resourceURL + '/common.js'}"/>


<!--<apex:includeScript value="{!resourceURL + '/assets/i18n/en.json'}" />-->
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"
      type="text/css"/>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" type="text/css"/>
</apex:page>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...