2016-09-04 24 views
0

Vue.jsライブラリを使用してプロジェクトを開始しています。共有コンポーネントを使用する2つのSPAアプリケーションのVue.jsプロジェクト構造

私が設定してください方法:プロジェクトは、3つのアプリケーションが含まれていますプロジェクト構造およびWebpack構成を使用して、共有コンポーネントを使用してコードの重複を防止します。さらに、npmを使ってbuild \ adminをビルドし、\ b2cをビルドし、単純なビルド/パブリッシング(nugetなどの追加のリポジトリなし)を続けたいと思います。

参考資料またはテンプレートを提供いただき、ありがとうございます。

+0

コンポーネント間でコード共有(状態、データなどの個人的なものではない)だけが必要な場合は、モジュールで分割して両方のプロジェクトで使用できます。 http://vuejs.org/guide/application.html#Modularization – GONG

+0

@ GONGだから私はそれはどのようにWebpackの質問を使用する必要があることを理解している? webpackを使用してビルドできる共有コンポーネントモジュールを持つモジュールb2c、adminに配布されたプロジェクトのサンプル構成はありますか? – marcinn

+0

下記の私の答えを見てください – GONG

答えて

0

ここでは、ES6モジュールを使用した例を示します(webpackのモジュールを使用できますが、私はこの方法が好ましい)。たとえば、あなたは、この構造

/assets 
/-js 
/--components 
/---shared 
/---admin 
/---b2c 
/--directives 
/--stores 
/--models 
/b2c.js 
/admin.js 

だからあなたb2c.jsにあなたはこの方法でそれを使用する必要があります。ここで

import Vue from 'Vue'; 

import component from './components/shared/SomeComponent.vue'; 

/*or var component = require('./components/shared/SomeComponent.vue'); if you want to use webpack here*/ 

import b2cOnly from './components/b2c/SomeComponent.vue'; 

let app = new Vue({ 
    el: '#app', 
    components: {component, b2cOnly} 
}); 

および類似admin.js

import Vue from 'Vue'; 

import component from './components/shared/SomeComponent.vue'; 

import adminOnly from './components/admin/SomeComponent.vue'; 

let app = new Vue({ 
    el: '#app', 
    components: {component, adminOnly} 
}); 

(私はhttps://github.com/vuejs/vueify午前のように、またはあなたがbrowserify使用している場合vueify)次に、あなたは簡単にvue-loaderとの同梱ができ

http://vue-loader.vuejs.org/en/start/tutorial.html

ですdocsからのwebpack.config.jsの例

次に、admin.jsb2c.jsをプロジェクトのどこかに組み込むことができます。

関連する問題