2016-07-20 6 views
0

Mein Index.html hat die folgenden Skripts.Probleme beim Laden der Zeitzone Bibliothek in Elektron

<script src="js/moment.js"></script> 
<script src="js/moment-timezone-with-data.min.js"></script> 

Wenn ich das Elektron App laufen, erhalte ich eine Uncaught Error: Cannot find module 'moment'. Die Zeitzonenbibliothek scheint nicht zu erkennen, dass ich moment.js aufgenommen habe.

Dies scheint ein Problem mit Electron zu sein, da das Gleiche in einer normalen HTML-Dateistruktur dazu führt, dass alles gut funktioniert.

EDIT: Ich habe versucht, meinen Code in der folgenden Weise zu ändern.

<script src="js/moment.js"></script> 
<script onload="window.moment = require(__dirname+'/js/moment.js');" src="js/moment-timezone-with-data.min.js"></script> 

Dies scheint immer noch keine Ergebnisse zu produzieren.

Antwort

1

Das ist für mich im aktuellen Elektron Projekt arbeitet Ich arbeite an:

<head> 
    <script>if (typeof module === 'object') {window.module = module; module = undefined;}</script> 

    <script type="application/javascript" src="js/jquery-2.1.3.min.js"></script> 
    <script type="application/javascript" src="js/bootstrap.min.js"></script> 
</head> 

Falls Sie Javascript in den HTML-Code schreiben möchten, die im Zusammenhang Elektron nicht, können Sie folgendes tun:

<script> 
    /* Javascript */ 
</script> 
<script>if (window.module) module = window.module;</script> 
<script> 
    const ipc = require('electron').ipcRenderer; 
    /* Rest of electron related javascript */ 
</script> 
0

Huzzah! Dieses Problem scheint von dieser Antwort gelöst zu sein.

Electron: jQuery is not defined

Copy kleistert, die Antwort wie folgt:

<!-- Insert this line above script imports --> 
<script>if (typeof module === 'object') {window.module = module; module = undefined;}</script> 

<!-- normal script imports etc --> 
<script src="scripts/jquery.min.js"></script>  
<script src="scripts/vendor.js"></script>  

<!-- Insert this line after script imports --> 
<script>if (window.module) module = window.module;</script> 

Grundsätzlich Einfügen der ersten und letzten Zeilen vor Skript-Anhänge verwendet.

1

Großartig! dies löst mein Problem mit Zeit und Zeitzone, arbeiten in App und in Browser fein

<script> 
    if (typeof module === 'object') {window.module = module; module = undefined;} 
</script> 

mein Code:

<!-- inject:js --> 
    <script src="lib/index.js"></script> 
    <script src="lib/moment/moment-with-locales.min.js"></script> 
    <script src="lib/moment-timezone/moment-timezone-with-data.min.js"</script> 
    <script src="lib/mdg-foundation/mdg2.js"></script> 
    <!-- endinject --> 
    <script>if (window.module) module = window.module;</script> 
Verwandte Themen