JavaScripthon est un outil qui semble transpiler le code Python3 en code javascript (ES6). Github:https://github.com/azazel75/metapensiero.pj
Il prend également en charge SourceMap, et il a été dit que vous pouvez déboguer avec le code Python tel quel, donc J'ai pensé que ce serait intéressant et j'ai essayé, alors j'ai écrit une histoire à laquelle j'ai abandonné après tout. (Je voulais vraiment faire un article "J'ai essayé" ...)
L'essentiel est de ne pas le faire sous Windows? Je ne sais pas vraiment parce que je n'ai pas de Mac.
Référence ci-dessous http://www.moongift.jp/2016/05/javascripthon-pythonで書いてes6のコードを生成/
pip install javascripthon
Donc, quand j'ai fait "Ei", j'ai pu installer dukpy, qui en dépend. Sans vcvarsall.bat. Il semble qu'il était censé inclure Visual Studio Community 2015. http://thinkami.hatenablog.com/entry/2016/06/06/225903
Quand je l'ai mis et essayé à nouveau, il est tombé. Sans unistd.h. J'abandonne parce que je ne peux pas l'installer sur Windows avec pip install comme ce type de type Unix.
J'ai décidé de le cloner à partir de Github et de l'exécuter directement. Puisque dukpy semble être un moteur pour exécuter js, j'ai pensé que je n'en aurais pas vraiment besoin s'il était juste transpile, j'ai donc décidé de l'exécuter directement.
Si vous avez envie de lire le code, c'est probablement nécessaire, alors commentez l'importation de dukpy dans src / metapensiero / pj / api.py
et exécutez-la.
python -m metapensiero.pj source.py
Quand j'ai dit "Ei", il est tombé. UnicodeDecodeError. C'est la cause de la chute.
src/metapensiero/pj/api.py
src_text = open(src_filename).readlines()
Je mourrai des commentaires japonais. Je vais le réécrire une fois.
src_text = open(src_filename, encoding='utf-8').readlines()
Il est tombé à nouveau. C'est la prochaine cause.
src/metapensiero/pj/processor/util.py
def parent_of(path):
return '/'.join(path.rstrip('/').split('/')[:-1])
Les délimiteurs de barre oblique inverse Windows ne sont pas pris en compte. Pour le moment, je veux l'exécuter sous Windows, je vais donc le changer une fois en barre oblique inverse.
def parent_of(path):
return '\\'.join(path.rstrip('\\').split('\\')[:-1])
python -m metapensiero.pj source.py
Maintenant, j'ai un fichier .js et un fichier .js.map. Hourra.
Cependant, il semble que Python qui va un peu plus loin ne puisse pas être transpilé. Par exemple
for i, x in enumerate(list1):
#En traitement
Ou, une boucle avec deux variables semble être inutile et entraînera une erreur.
Abandonnons déjà. Achetons d'abord un Mac. Parlons à ma femme.
Recommended Posts