Vue.js Webpack resolve.alias中断以@

Vue.js Webpack resolve.alias中断以@,vue.js,webpack,babeljs,Vue.js,Webpack,Babeljs,我正在一个Vue项目中工作,我正在尝试使用VuexORM。初次安装时,我遇到了一个奇怪的错误: 找不到模块:错误:无法解析“../uex orm/core” 它应该是。/@vuex orm/core(注意它缺少@和“v”字符) 我仔细检查了一下,没有输入错误。然后我意识到我实现了一个别名,这样我就可以从src/目录导入带有@符号的内容,我相信这可以解释这种奇怪的导入。我一定是配置错了我的网页或.babelrc(很可能是因为我两个都很烂) 我应该如何设置我的webpack.config.js和/或

我正在一个Vue项目中工作,我正在尝试使用VuexORM。初次安装时,我遇到了一个奇怪的错误:
找不到模块:错误:无法解析“../uex orm/core”

它应该是
。/@vuex orm/core
(注意它缺少@和“v”字符)

我仔细检查了一下,没有输入错误。然后我意识到我实现了一个别名,这样我就可以从src/目录导入带有@符号的内容,我相信这可以解释这种奇怪的导入。我一定是配置错了我的网页或.babelrc(很可能是因为我两个都很烂)

我应该如何设置我的
webpack.config.js
和/或
.babelrc
,以便既可以使用别名进行导入,也可以使用@vuex等导入库

webpack.config.js

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const Dotenv = require('dotenv-webpack');

module.exports = {
  mode: 'development',
  resolve: {
    extensions: ['.js', '.vue'],
  },
  module: {
    rules: [
      {
        test: /\.vue?$/,
        exclude: /(node_modules)/,
        use: 'vue-loader',
      },
      {
        test: /\.js?$/,
        exclude: /(node_modules)/,
        use: 'babel-loader',
      },
      {
        test: /\.css$/,
        use: [{ loader: 'style-loader' }, { loader: 'css-loader' }],
      },
      {
        test: /\.sass$/,
        use: [
          'vue-style-loader',
          'css-loader',
          {
            loader: 'sass-loader',
            options: {
              indentedSyntax: true,
            },
          },
        ],
      },
      {
        test: /\.svg$/,
        loader: 'svg-inline-loader',
      },
    ],
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './src/index.html',
    }),
    new Dotenv(),
  ],

  devServer: {
    historyApiFallback: true,
  },
  externals: {
    // global app config object
    config: JSON.stringify({
      apiUrl: 'http://localhost:3000',
    }),
  },
}
.babelrc

{
  "presets": [
      "env",
      "stage-0"
  ],
  "plugins": [
    ["babel-plugin-root-import", {
      "rootPathSuffix": "src/",
      "rootPathPrefix": "@"
    }]
  ]
}

我再次查看了《巴贝尔插件根导入》的文档,要么没有找到,要么是最近编辑过,但他们提到:

如果您不喜欢~语法,可以使用自己的符号(例如 例如#符号或\或您想要的任何东西)。使用@并不重要 推荐使用,因为NPM的最新版本允许在包名称中使用@是 默认值,因为它不太可能与任何内容发生冲突(以及 无论如何都不会扩展到家里)

因此,将我的导入从
@/\u components/User'
更改为
~/\u components/User
非常有效


希望这对其他人有帮助

我再次查看了有关
babel插件根导入的文档,要么没有找到,要么是最近编辑的,但他们提到:

如果您不喜欢~语法,可以使用自己的符号(例如 例如#符号或\或您想要的任何东西)。使用@并不重要 推荐使用,因为NPM的最新版本允许在包名称中使用@是 默认值,因为它不太可能与任何内容发生冲突(以及 无论如何都不会扩展到家里)

因此,将我的导入从
@/\u components/User'
更改为
~/\u components/User
非常有效

希望这对其他人有帮助