Vue-CLI3 VUE-CLI服务构建-现代不起作用

npm run build --modern成功运行,我在输出中仅看到一个应用程序。不应该有两个吗?在此处输入图片说明

东尼19

npm run build --modern成功运行,我在输出中仅看到一个应用程序。不应该有两个吗?

实际上,该build --modern命令在中创建了两个应用程序dist/js(请参阅dist/js/app.4e3aeb0e.jsdist/js/app-legacy.10b7d753.js):

➜ ls -al dist/js
total 1840
drwxr-xr-x  10 tony  staff     320 Sep  2 19:25 .
drwxr-xr-x   7 tony  staff     224 Sep  2 19:25 ..
-rw-r--r--   1 tony  staff    4772 Sep  2 19:25 app-legacy.10b7d753.js                    <-- LEGACY
-rw-r--r--   1 tony  staff   23682 Sep  2 19:25 app-legacy.10b7d753.js.map
-rw-r--r--   1 tony  staff    4718 Sep  2 19:25 app.4e3aeb0e.js                           <-- MODERN
-rw-r--r--   1 tony  staff   23625 Sep  2 19:25 app.4e3aeb0e.js.map
-rw-r--r--   1 tony  staff   80454 Sep  2 19:25 chunk-vendors-legacy.df5f2e07.js          <-- LEGACY
-rw-r--r--   1 tony  staff  397535 Sep  2 19:25 chunk-vendors-legacy.df5f2e07.js.map
-rw-r--r--   1 tony  staff   63276 Sep  2 19:25 chunk-vendors.4fd390fb.js                 <-- MODERN
-rw-r--r--   1 tony  staff  326296 Sep  2 19:25 chunk-vendors.4fd390fb.js.map

这些应用程序有选择地加载到中index.html首先,现代模式脚本已预装<link rel="modulepreload">在中<head>

<link href=/js/app.4e3aeb0e.js rel=modulepreload as=script>
<link href=/js/chunk-vendors.4fd390fb.js rel=modulepreload as=script>

这些脚本以后会加载到<body>注意:只有支持的浏览器<script type="module">才能加载脚本):

<script type=module src=/js/chunk-vendors.4fd390fb.js></script>
<script type=module src=/js/app.4e3aeb0e.js></script>

最后,nomodule回退到传统模式脚本(注意:该nomodule属性告诉浏览器仅在不支持模块脚本的情况下才加载脚本):

<script>!function () { var e = document, t = e.createElement("script"); if (!("noModule" in t) && "onbeforeload" in t) { var n = !1; e.addEventListener("beforeload", function (e) { if (e.target === t) n = !0; else if (!e.target.hasAttribute("nomodule") || !n) return; e.preventDefault() }, !0), t.type = "module", t.src = ".", e.head.appendChild(t), t.remove() } }();</script>
<script src=/js/chunk-vendors-legacy.df5f2e07.js nomodule></script>
<script src=/js/app-legacy.10b7d753.js nomodule></script>

我比较--modern和no modern之间的大小,没有区别吗?

我不确定您如何比较大小,但实际上现代版本的大小更大。在以下示例中,我default两次构建了Vue-CLI生成的应用程序(具有预设)(一次不使用--modern,再一次使用--modern),并重命名了输出目录。查看dist-modernindex.html和中的大小增加js/

➜ ls -al dist*
dist-default:
total 16
drwxr-xr-x   7 tony  staff   224 Sep  2 19:25 .
drwxr-xr-x  13 tony  staff   416 Sep  2 19:27 ..
drwxr-xr-x   3 tony  staff    96 Sep  2 19:25 css
-rw-r--r--   1 tony  staff  1150 Sep  2 19:25 favicon.ico
drwxr-xr-x   3 tony  staff    96 Sep  2 19:25 img
-rw-r--r--   1 tony  staff   724 Sep  2 19:25 index.html
drwxr-xr-x   6 tony  staff   192 Sep  2 19:25 js

dist-modern:
total 16
drwxr-xr-x   7 tony  staff   224 Sep  2 19:25 .
drwxr-xr-x  13 tony  staff   416 Sep  2 19:27 ..
drwxr-xr-x   3 tony  staff    96 Sep  2 19:25 css
-rw-r--r--   1 tony  staff  1150 Sep  2 19:25 favicon.ico
drwxr-xr-x   3 tony  staff    96 Sep  2 19:25 img
-rw-r--r--   1 tony  staff  1213 Sep  2 19:25 index.html        <-- LARGER
drwxr-xr-x  10 tony  staff   320 Sep  2 19:25 js                <-- LARGER

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

你如何在 Electron 中使用现代版本的 Vue (Vue CLI3)?

Vue-Cli:htmlWebpackPlugin的“标题”选项不起作用

如何使用Typescript在Vue CLI3中嵌套对象数据?

具有IE11支持的vue cli3 lib

在vue cli3项目中包含我自己的js和CSS文件

如何使用 Vue CLI3 将代码拆分为多个包

如何停止在我的chunk-vendors.js文件中包含vue.js.min来停止vue cli3构建?

Vue-cli-service服务构建完成回调?

为什么Openlayers地图在Vue-CLI 3中不起作用

Nuxt和React是否具有像Vue CLI3这样的GUI,其中包含方便的模板生成向导和构建按钮?

更改vuetify中的默认字体不起作用(vue-cli 3)[Vuetify 1.X]

将Babel插件添加到Vue CLI项目不起作用

Font Awesome嵌入代码在Vue CLI生成的项目中不起作用

为什么LiveReload在Vagrant的vue-cli项目中不起作用?

Highcharts-more.js在vue-cli项目中不起作用

Cypress JS 自定义命令在 VUE CLI 中不起作用

Vue CLI构建到外部主机?

Vue CLI 3在构建后执行一些任务

Vue CLI无需服务器即可构建和运行index.html文件

在Vue CLI服务3中合并WebPack配置

Vue 过渡不起作用

在 Vue CLI 中,data 属性中定义的变量在与 this.VariableName 一起使用时不起作用

vue 3 +电子简单示例不起作用

Typsescript 在新的 Vue3 项目中不起作用

在 vue3+typescript devtools 属性不起作用

:禁用的表单按钮在Vue 3中不起作用

Vue 3使用功能不起作用

Vue 3 mapGetters 问题多个 getter 不起作用

使用vue-cli 3将vue依赖项捆绑到Web组件构建中