Webpack Vue.js 2网页包3如何将CDN中的external.js插入网页包外部?
当我们使用像jQuery这样的cdn库而不是绑定它时Webpack Vue.js 2网页包3如何将CDN中的external.js插入网页包外部?,webpack,vue.js,Webpack,Vue.js,当我们使用像jQuery这样的cdn库而不是绑定它时 <script src="https://code.jquery.com/jquery-3.1.0.js" integrity="sha256-slogkvB1K3VOkzAI8QITxV3VzpOnkeNVsKvtkYLMjfk=" crossorigin="anonymous"> </script> 然后在Vue组件中需要它 import $ from 'jquery'; .. $('.my-
<script
src="https://code.jquery.com/jquery-3.1.0.js"
integrity="sha256-slogkvB1K3VOkzAI8QITxV3VzpOnkeNVsKvtkYLMjfk="
crossorigin="anonymous">
</script>
然后在Vue组件中需要它
import $ from 'jquery';
..
$('.my-element').animate(...);
<script>
....
import paypal from 'paypal'
好的,但是我们如何找到要插入到外部的模块ID呢
例如,如果我使用paypal api checkout.js
<script src="https://www.paypalobjects.com/api/checkout.js"></script>
要在webpack externals中写入的模块id是什么?我们可以从paypal.js文件内容的何处(如何)找到它
外部:{
贝宝:“结帐”。//或“贝宝结帐”或“贝宝”???
},
感谢您的反馈已解决。。。使用html网页包外部插件包
yarn add html-webpack-externals-plugin --dev
webpack.dev.conf.js
const HtmlWebpackExternalsPlugin = require('html-webpack-externals-plugin')
...
plugins: [
...
new HtmlWebpackExternalsPlugin({
externals: [
{
module: 'paypal',
entry: 'https://www.paypalobjects.com/api/checkout.js',
global: 'paypal'
}
]
}),
...
index.html
<script src="https://www.paypalobjects.com/api/checkout.js"></script>
vue组件
<script>
....
import paypal from 'paypal'
....
从“paypal”导入paypal
html网页包外部插件已经很长时间没有更新了,并且有一个新的插件。如果有人正在使用第三方库,如“”(非cdn),则可以使用。其旧名称为html网页包包含资产插件,由html网页包外部插件所依赖
我在vue-cli3.x中使用它,有多个页面,一切正常。
示例:
plugins: [
new HtmlWebpackTagsPlugin({
append: false, // append first
publicPath: false, // remote lib doesn't use publicPath
tags: [http://somedomain/plugin.js]
})
]
只是要指出,如果使用外部webpack插件,则不必将脚本标记包含在index.htmld中。如果有人在vue-cli3.x中使用html webpack externals插件,我发现该插件会在html文件中多次插入我的外部文件
plugins: [
new HtmlWebpackTagsPlugin({
append: false, // append first
publicPath: false, // remote lib doesn't use publicPath
tags: [http://somedomain/plugin.js]
})
]