所以我试图创建一个需要文件夹“views /”
中的其他组件的vue实例这是文件结构:
如果我在App.vue中执行此操作,服务器将运行时没有错误:
import Navbar from 'layouts/Navbar'
import Topbar from 'layouts/Topbar'
import AppMain from 'layouts/AppMain'
但如果我尝试这样做:
import { AppMain, Navbar, Topbar } from 'layouts/'
服务器将无法运行并将返回:
This dependency was not found:
* views/ in ./src/router/index.js
这是webpack.base.config.js
function resolve (dir) {
return path.join(__dirname, '..', dir)
}
module.exports = {
entry: {
app: './src/main.js'
},
output: {
path: config.build.assetsRoot,
filename: '[name].js',
publicPath: process.env.NODE_ENV === 'production'
? config.build.assetsPublicPath
: config.dev.assetsPublicPath
},
resolve: {
extensions: ['.js', '.vue', '.json', '.scss'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
'layouts': resolve('src/layouts'),
'views': resolve('src/views'),
'components': resolve('src/components'),
'variables': path.resolve(__dirname, '../src/assets/common/variables.scss'),
},
},
我真的不知道什么是错的,plz帮助,thx
答案 0 :(得分:14)
这不是正确的方法。
import { something } from 'some_file';
是关于导入默认情况下未导出的内容!当一个文件暴露很多东西时,这很有用。
import Something from 'some_file';
是关于从文件中导入默认导出项目。
使用当前设置无法编写内容。你必须写得像:
import { AppMain, Navbar, Topbar } from 'layouts';
然后在布局中创建一个index.js
文件,然后将是该文件的内容:
import Navbar from 'layouts/Navbar'
import Topbar from 'layouts/Topbar'
import AppMain from 'layouts/AppMain'
export {
Navbar,
Topbar,
AppMain
}
现在应该可以使用,请尝试阅读https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import
上有关ES6导入的更多信息