javascript - Minta nasihat tentang menggunakan cdn dengan vue
学习ing
学习ing 2017-07-05 10:36:18
0
5
1236

Tolong beri saya nasihat,

import babelpolyfill from 'babel-polyfill'
import Vue from 'vue'
import App from './App'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-default/index.css'
//import './assets/theme/theme-green/index.css'
import VueRouter from 'vue-router'
import store from './vuex/store'
import Vuex from 'vuex'
//import NProgress from 'nprogress'
//import 'nprogress/nprogress.css'
import routes from './routes'
//import Mock from './mock'
//Mock.bootstrap();
import 'font-awesome/css/font-awesome.min.css'

Cara menggunakan cdn untuk merujuk fail js awam seperti ini. Pada masa ini, ia dipasang oleh pemasangan npm, semuanya adalah tempatan, dan eksport adalah terhad. Banyak pakej boleh diimport menggunakan cdn. Tetapi pada masa ini mereka semua dikendalikan oleh rangka kerja Vue, dan tiada tempat penulisan yang diimport terus daripada HTML. Sila beritahu saya cara menggunakan CDN awam seperti https://cdn.bootcss.com/eleme... dalam projek.

学习ing
学习ing

membalas semua(5)
ringa_lee
resolve: {
    extensions: ['.js', '.vue', '.json'],
    alias: {
      'vue$': 'vue/dist/vue.esm.js',
      '@': resolve('src')
    }
  },
  externals: {
      jquery: 'jQuery.noConflict()', //或者jquery:'jQuery',
      $: 'jQuery.noConflict()'
  },
  module: {
    rules: [
      {
        test: /\.vue$/,
        loader: 'vue-loader',
        options: vueLoaderConfig
      },
    }

Webpack dikonfigurasikan seperti ini, html memperkenalkan jquery cdn

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>lawyer_fe</title>
  <link rel="stylesheet" type="text/css" href="/static/normalize.css">
  <link rel="stylesheet" type="text/css" href="/static/cssreset.css">
  <link rel="stylesheet" type="text/css" href="http://unpkg.com/iview/dist/styles/iview.css">
  <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>

</head>
女神的闺蜜爱上我

Hanya import terus masuk html 里中 从 CDN, tak perlu import dan bungkus/mampatkan bersama

大家讲道理

Jika perpustakaan pihak ketiga mempunyai alamat CDN, ia boleh dimasukkan terus ke dalam HTML, dalam HTML templat.
Kemudian anda juga boleh membuang kod ke cdn anda sendiri, mengurusnya secara seragam, dan memprosesnya dengan cara yang sama seperti fail statik anda yang lain Sebagai contoh, fail img anda diletakkan dalam cdnUrl+projectName/img/, dan ketiga- ini. perpustakaan parti juga dilemparkan ke atasnya.
Anda kini diuruskan oleh pakej npm secara tempatan, jadi jika anda mengimportnya semasa anda memetiknya, ia pasti akan dibungkus oleh webpack... Ini melibatkan isu webpack. Mari lihat sama ada kita boleh menyelesaikan masalah semasa dahulu

小葫芦

Anda boleh melihat dokumentasi webpack Ia ditulis dalam dokumentasi, yang agak terperinci Ambil jQuery sebagai contoh

https://doc.webpack-china.org...

淡淡烟草味

Menyelesaikan masalah anda memerlukan langkah berikut
1 Ekstrak fail js yang dipasang secara tempatan oleh npm dan diperkenalkan melalui import Bahagian ini boleh diekstrak melalui pemalam CommonsChunkPlugin Rujuk pemisahan kod webpack

Contohnya:

entry: {
    main:['./src/index.js'],
    vue:['vue'],
    jquery:['jquery']    
  }
...
plugins: [
    new webpack.optimize.CommonsChunkPlugin({
          name: ['vue','jquery'], // 指定公共 bundle 的名字。
          minChunks: function(module){
            return module.context && module.context.indexOf("node_modules") !== -1;
        }
      })
]
2. Gunakan HtmlWebpackPlugin untuk menyelesaikan masalah laluan dan nama fail selepas pembungkusan js

    plugins: [
        new HtmlWebpackPlugin({
            filename: 'index.html',
            template: './src/index.html',//模板路径
            inject: true,
            hash:true,
            minify: {
                removeComments: true,
                collapseWhitespace: true,
                removeAttributeQuotes: true
                // more options:
                // https://github.com/kangax/html-minifier#options-quick-reference
           }
       })
   ]
以上资源路径配置在output项
// webpack.config.js
output: {
    ...
    publicPath: debug ? 'build/' : 'https://cdn.bootcss.com/element-ui'
}
Kesan akhir yang dihasilkan adalah seperti ini

// 生产环境
// a.html
<script src="https://cdn.bootcss.com/element-ui/js/460de4b8.vue.js"></script>
<script src="https://cdn.bootcss.com/element-ui/js/e7d20340.a.min.js"></script>
Masalah anda terutamanya terletak pada pengekstrakan fail js awam di atas Selepas pengekstrakan, ia adalah pilihan peribadi sama ada untuk menggunakan HtmlWebpackPlugin untuk menambah laluan sumber secara automatik atau menambahnya secara manual, jadi tumpuan adalah pada langkah pertama

.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!