pythonでnuxt.jsアプリを書きます
ノートをリリースします
npm install # or use yarn
pip install -r requirements.txt
npm run dev @nuxtjs/python依存関係をプロジェクトに追加しますnuxt.config.jsのmodulesセクションに@nuxtjs/pythonを追加します {
modules : [
'@nuxtjs/python'
] ,
python : {
compiler : 'pj' // default
}
}<script lang="py"> 。compilerパラメーターをサポートしています) コンパイラのデフォルトと推奨はJavascripthonですが、他のコンパイラを使用することは可能です(以下を参照)。
Javascripthon Python Transpilerをインストールします。今のところ、マスターブランチが必要です。
pip install -e git+https://gitlab.com/metapensiero/metapensiero.pj#egg=javascripthon
Javascripthonでは、 Python 3.5 (またはより良い)が必要であることに注意してください。
Javascripthonは、NUXTで使用されているように、PythonインポートステートメントをES6インポートに変換することをサポートしています。構文変換に注意してください。
モジュールオプションを使用するか、 nuxt.config.jsファイルのpythonセクションでcompilerオプションをPy-roaderに渡すことができます。
Transcryptは独自のモジュールシステムがあるため、それを使用するために、CommonJSモジュール標準(インポートとmodule.exports require )を使用でき、機能するはずです。 py-loader vuejsの例を参照してください。
.vueファイルを使用しますVIMを使用する場合、VIM-VUEプラグインをインストールしてこのパッチを適用することにより、 HTML、CSS 、 Pythonの構文ハイライトを取得できます。
hello.vue :
< template >
< div >
Nuxt {{ best_lang }}
</ div >
</ template >
< script lang =" py " >
class Component :
def __init__ ( self ) :
self [ ' data '] = lambda: { ' best_lang ': ' Python ' }
__default__ = Component ( )
</ script >.pyファイルを使用しますstore/index.py
from vuex import Store
def increment ( state ):
state . counter = state . counter + 1
def createStore ():
return Store (
state = { 'counter' : 0 },
mutations = { 'increment' : increment }
)
__default__ = createStore pages/counter.vue
< template >
< h2 > {{ $store.state.counter }} </ h2 >
< button @click =" $store.commit('increment') " > +1 </ button >
</ template >作業例については、こちらを参照してください。
yarn installまたはnpm installを使用して依存関係をインストールしますnpm run devを使用して開発サーバーを開始しますMITライセンス
Copyright(c)Sebastian Silva [email protected]
このモジュールは、Pooya Parsaによってモジュールテンプレートから開始され、Martim NascimentoによるPython-Webpack-RoaderとAlberto BertiのJavascripthonに大きく依存しています。