Vueコード分割怠け者ローディングの実現方法
怠惰ロードとは
怠惰負荷は遅延負荷とも言います。必要な時にロードして、それを使ってください。
なぜ怠惰なロードが必要ですか?
一ページの応用において、もし怠惰なローディングが適用されていなかったら、webpackを使って包装したファイルは異常に大きくなり、トップページに入る時にロードすべき内容が多すぎて、延長が長すぎて、ユーザーの体験に不利です。怠惰なローディングを使うとページを分割できます。必要な時にページをロードし、トップページに負担されたローディング圧力を効果的に分担できます。トップページの読み込みを減らす時
どのようにwebpackと組み合わせてコンポーネントの怠惰なロードを実現しますか?
1、webpackプロファイルにおけるoutputパス配置chunkFilename属性
2、webpackのサポートに合わせた非同期荷重方法 require([URL],reolve)は、良いサポート です。()=>system.import(URL)は、webpack 2公式サイトでは、徐々に廃止されると発表されています。 の使用は推奨されていません。()=>import(URL)、webpack 2公式サイトで推奨されています。S 7カテゴリーに属しています。babelのsyntax-dynamic-mportプラグインに合わせて使用する必要があります。具体的な使い方は以下の通りです。
webpack>2の時代、vueはコード分割をして怠惰に更にeasyをロードして、loaderを必要としなくて、require.ensureを必要としません。
importがすべてを解決します。
階層を分割
Vueコードの分割怠け者ローディングには以下のいくつかの階層が含まれています。
1、コンポーネントの階層分割怠け者ローディング
2、ルート階層
3、Vuexモジュール
コンポーネント階層コード分割
一般的なプロジェクトでは、routerとcomponentsレベルで分割するか(またはrouter分割のみを使う)だけで十分です。大規模なプロジェクトは三者が全部使うかもしれませんが、使い方は簡単ですよね?
はい、以上はこの文章の全部の内容です。本文の内容は皆さんの学習や仕事に対して一定の参考学習価値を持っています。質問があれば、メッセージを残して交流してください。ありがとうございます。
怠惰負荷は遅延負荷とも言います。必要な時にロードして、それを使ってください。
なぜ怠惰なロードが必要ですか?
一ページの応用において、もし怠惰なローディングが適用されていなかったら、webpackを使って包装したファイルは異常に大きくなり、トップページに入る時にロードすべき内容が多すぎて、延長が長すぎて、ユーザーの体験に不利です。怠惰なローディングを使うとページを分割できます。必要な時にページをロードし、トップページに負担されたローディング圧力を効果的に分担できます。トップページの読み込みを減らす時
どのようにwebpackと組み合わせてコンポーネントの怠惰なロードを実現しますか?
1、webpackプロファイルにおけるoutputパス配置chunkFilename属性
output: {
path: resolve(__dirname, 'dist'),
filename: options.dev ? '[name].js' : '[name].js?[chunkhash]',
chunkFilename: 'chunk[id].js?[chunkhash]',
publicPath: options.dev ? '/assets/' : publicPath
},
chunkFilenameパスはコンポーネントとして怠惰にロードするパスです。2、webpackのサポートに合わせた非同期荷重方法
npm install --save-dev babel-core babel-loader babel-plugin-syntax-dynamic-import babel-preset-es2015
use: [{
loader: 'babel-loader',
options: {
presets: [['es2015', {modules: false}]],
plugins: ['syntax-dynamic-import']
}
}]
ことばを引くwebpack>2の時代、vueはコード分割をして怠惰に更にeasyをロードして、loaderを必要としなくて、require.ensureを必要としません。
importがすべてを解決します。
階層を分割
Vueコードの分割怠け者ローディングには以下のいくつかの階層が含まれています。
1、コンポーネントの階層分割怠け者ローディング
2、ルート階層
3、Vuexモジュール
コンポーネント階層コード分割
//
Vue.component('AsyncComponent', () => import('./AsyncComponent'))
//
new Vue({
// ...
components: {
'AsyncComponent': () => import('./AsyncComponent')
}
})
// default
new Vue({
// ...
components: {
'AsyncComponent': () => import('./AsyncComponent').then({ AsyncComponent }) => AsyncComponent
}
})
ルート階層コード分割
const AsyncComponent= () => import('./AsyncComponent')
new VueRouter({
routes: [
{ path: '/test', component: AsyncComponent}
]
})
Vuexモジュールコードの分割、vuexには動的登録モジュール方法があり、同時にimportも追加されます。
const store = new Vuex.Store()
import('./store/test').then(testModule => {
store.registerModule('test', testModule)
})
締め括りをつける一般的なプロジェクトでは、routerとcomponentsレベルで分割するか(またはrouter分割のみを使う)だけで十分です。大規模なプロジェクトは三者が全部使うかもしれませんが、使い方は簡単ですよね?
はい、以上はこの文章の全部の内容です。本文の内容は皆さんの学習や仕事に対して一定の参考学習価値を持っています。質問があれば、メッセージを残して交流してください。ありがとうございます。