菜鸟问题:用webpack打包时,import为什么能引入node_modules下的文件?

import Vue from 'vue'
import VueRouter from 'vue-router'
import home from './vue/home.vue'

第1、2句,为什么我没有做啥特别的设置,却能import到node_modules下的文件?
第3句就必须要带上路径才行------如何定义这种“不用写”的默认路径?
我的项目结构:
图片描述

阅读 10.7k
2 个回答

你需要的应该是webpack的resolve.alias参数(中文称别名),举个例子:

  // 模块别名的配置,为了使用方便,一般来说所有模块都是要配置一下别名的
  alias: {
    /* 各种目录 */
    iconfontDir: path.resolve(dirVars.publicDir, 'iconfont/'),
    componentDir: path.resolve(dirVars.publicDir, 'components/'),
    configDir: dirVars.configDir,
    layoutDir: dirVars.layoutDir,

    /* vendor */
    swiper: path.resolve(dirVars.vendorDir, 'swiper2/'),
    jquery: 'jquery/dist/jquery.min',
  }