我正在一个Vue项目中尝试使用VuexORM。初始安装时,出现一个奇怪的错误:
Module not found: Error: Can't resolve '../uex-orm/core'
。
它应该改为../@vuex-orm/core
(注意,它缺少@和'v'字符)。
我仔细检查了我没有输入错误的进口商品。然后我意识到我已经实现了一个别名,以便可以使用@符号从src /目录导入,我相信这可以解释看上去很奇怪的导入。我一定对我的webpack或.babelrc进行了错误配置(这很可能是因为我俩都很烂)。
我应该如何设置webpack.config.js
和/或.babelrc
,以便既可以为导入使用别名,又可以使用诸如@ vuex-orm之类的导入库?
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": "@"
}]
]
}
答案 0 :(得分:0)
我再次浏览了babel-plugin-root-import
的文档,或者错过了它,或者最近对其进行了编辑,但是他们提到:
如果您不喜欢〜语法,则可以使用自己的符号(对于 例如#符号或\或您想要的任何符号)。使用@不是 推荐使用,因为NPM的最新版本在包名称中允许@。 〜是 默认值,因为它不太可能与任何内容发生冲突(并且 无论如何都不会扩展到HOME。
因此,将导入从@/_components/User'
更改为~/_components/User
是可行的!
希望这对其他人有帮助!