[Vue warn]: $attrs is readonly.
[Vue warn]: $listeners is readonly.
複製代碼
重複引入 Vuejavascript
在webpack中配置上:vue
externals: {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue',
},
},
複製代碼
externals
的理解不將Vue
打包到bundle
中,而是讓打好的包bundle
去它的運行環境中找Vue
的依賴。讓運行環境決定用哪一個版本的vue
。java
bundle
中聲明瞭對Vue
依賴 webpack
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
// commonjs2 形式
module.exports = factory(require("vue"));
else if(typeof define === 'function' && define.amd)
// AMD 形式
define(["vue"], factory);
else if(typeof exports === 'object')
// commonjs 形式
exports["YouLibrary"] = factory(require("vue"));
else
// 全局變量形式
root["YouLibrary"] = factory(root["Vue"]);
})(window, function(__WEBPACK_EXTERNAL_MODULE_vue__) {
......
});
複製代碼
防止將某些 import 的包(package)打包到 bundle 中,而是在運行時(runtime)再去從外部獲取這些擴展依賴(external dependencies)。web
文檔 externalsbash