记一次webpack打包的问题

在webpack打包中开启了webpack-bundle-analyzer,发现了一个chunk:tinymce

在整个项目中查找,只有一个未被使用的组件中有如下代码:

import Tinymce from '@/components/Tinymce

删除Tinymce文件夹之后,项目出现了报错:

Can't resolve '@/components/Tinymce'

开始排查错误,然后开始在main.js 中逐步注释代码,终于到注释掉下面的代码的时候不再报错了

import router from "./router";

查找了一遍router下面的文件,没有一处引入,继续排查,当注释掉下面的代码的时候好了

const _import = require('./_import_' + process.env.NODE_ENV);

上面这行代码的主要功能是根据环境使用不同的引入,在dev环境不使用webpack的分割方案,生成环境分割路由:

// development
module.exports = file => require('@/views/' + file + '.vue').default
// production
module.exports = file => () => import('@/views/' + file + '.vue')

问题就出在这里的require和import,当引入的内容包含表达式的时候,webpack文档的解释:
A context is created if your request contains expressions, so the exact module is not known on compile time. context module is generated. It contains references to all modules in that directory that can be required with a request matching the regular expression.
也就是说"@/views/"下的所得vue文件(包含子目录)都被webpack的require了,因为views文件夹下包含一个components的文件夹,tinymce就在该文件下,也就被引入了。

那么到了这里,问题的解决方案就有了,就是单独使用一个pages的文件夹存放路由对应的所有页面。

现在看看使用的webpack版本,还是2.6.1,优点太落后了,该升级了。

记一次webpack打包的问题的更多相关文章

  1. 记一次webpack打包优化

    未进行打包优化的痛点: 随着项目的不断扩大,引入的第三方库会越来越多,我们每次build的时候会对所有的文件进行打包,耗时必定很长,不利于日常开发. 解决思路: 第三方库我们只是引入到项目里来,一般不 ...

  2. Webpack 打包优化之体积篇

    谈及如今欣欣向荣的前端圈,不仅有各类框架百花齐放,如Vue, React, Angular等等,就打包工具而言,发展也是如火如荼,百家争鸣:从早期的王者Browserify, Grunt,到后来赢得宝 ...

  3. 使用webpack打包ThinkPHP的资源文件

    使用webpack打包ThinkPHP的资源文件 利用自己的空余时间一直在维护http://www.wx2share.com这个小网站,全是一个人在弄,由于只租得起虚拟空间,所以后台采用了简单方便的T ...

  4. 【原】使用webpack打包的后,公共请求路径的配置问题

    在我们公司,和后台接接口时,公共的请求路径我们是单独抽出来的,放在一个独立的public.js中,在public.js中存入那个公共变量 公共变量是这样 在其他地方使用ajax时,我们就这样使用 这种 ...

  5. Webpack打包进阶

    说在前面 由于使用了React直出,页面各项性能指标使人悦目.本篇将深入探讨目前PC部落所采用webpack打包优化策略,以及探讨PC部落并未使用的 webpack Code Splitting 代码 ...

  6. webpack打包avalon

    webpack打包avalon+oniui+jquery 随着avalon的发展壮大,我根据CSDN的统计数字,中国前端大概有1%的人在使用avalon了. avalon的最大优势是能兼容IE6,并且 ...

  7. 基于ES6模块标准通过webpack打包HTM5项目

    本篇主要演示通过webpack打包phaser项目,webpack安装方法在此处就不一一赘述了 经常用phaser来写html5游戏的朋友可能会发现,当游戏场景比较多时,如果都写在一个js文件中那么将 ...

  8. webpack 打包成功,但是css不起作用

    问题: webpack 打包成功,但是css不起作用 问题分析/解决: 原因有以下几种 使用了webpack2的语法规则不正确; webpack2要求必须写-loader; 可能是只写了css-loa ...

  9. 14.如何解决使用webpack打包之后,font-awsome路径不对的问题,终极解决方法

    问题描述: 使用webpack打包vue项目,使用font-awsome字体,发现打包之后,font-awsome图标不显示,报错为路径不对 看了下打包的路径,的确路径不对,打包之后font-awso ...

随机推荐

  1. cb29a_c++_STL_算法_查找算法_(2)search_n

    cb29a_c++_STL_算法_查找算法_(2)search_n//比如:连续查找连续的n个8search_n(b,e,c,v),迭代器b,begin(),e,end().连续的c个vpos=sea ...

  2. Ubuntu下安装PIL

    Ubuntu下安装PIL 1)sudo apt-get install libjpeg-dev 2)sudo apt-get install libfreetype6-dev 3)sudo easy_ ...

  3. Error: Cannot find module 'webpack'

    运行 npm start 报错 Error: Cannot find module 'webpack' 安装了 npm install --save-dev webpack cnpm install ...

  4. JavaScript 集合基本操作

    参考 MDN 集合 Array 1. 2种创建数组的方式 var fruits = [] ; var friuits = new Array(); 2. 遍历 fruits.forEach(funct ...

  5. JavaWeb网上图书商城完整项目--day02-27.查询所有分类功能之Servlet和Service层

    我们在上面实现了数据库层的代码,现在我们来实现业务层和Servlet层的代码:业务层的代码如下: package com.weiyuan.goods.category.service; import ...

  6. 5、struct2的获得jsp参数的第三种方式

    在前面已经讲解了通过在action中直接通过jsp的参数和ModelDiver的方式获得浏览器传递的参数,下面我们介绍第三种方式,也是在项目开发中推荐的方式 action不需要在实现ModelDriv ...

  7. liunx中组合查询的命令

    今天无聊,把以前的liunx命令拿过练练,尤其是一些组合命令并带有逻辑的.这里的script是一个文件夹. 1.查看一个文件的最后3行的第一行. [root@localhost home]# tail ...

  8. Java Agent(上)

    1.java agent是什么? --->对用户透明,不侵入用户业务代码.让java虚拟机加载agent jar 2.java agent有什么用? --->应用场景例如:调用链追踪项目, ...

  9. linux环境搭建单机kafka

    准备工作: jdk-8u191-linux-x64.rpm  |   zookeeper-3.4.6.tar.gz  |   kafka_2.11-2.2.0.tgz 对应的地址 zookeeper: ...

  10. dart快速入门教程 (3)

    3.运算符 运算符本质上就是代表某运算规则的符号,例如: + ,这个符号,代表着数学运算里面的加法,按照加法法则进行运算即可,同理,学习运算符就是掌握这些规则而已 3.1.算术运算符 算术运算符主要包 ...