だから私はフォルダ「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
これは正しい方法ではありません。
import { something } from 'some_file';
デフォルトではエクスポートされないものをインポートすることです!これは、1つのファイルが多くのものを公開する場合に役立ちます。
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
}
これは動作するはずです。ES6インポートについての詳細を読んでみてください https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import