I hate repeating things in code. For now I am importing vue files like this in my main.js.
JavaScript
x
10
10
1
import Default from '../../src/components/default.vue';
2
import Home from '../../src/components/home.vue';
3
import hakkinda from '../../src/components/hakkinda.vue';
4
import projeler from '../../src/components/projeler.vue';
5
import servisler from '../../src/components/servisler.vue';
6
import yetenekler from '../../src/components/yetenekler.vue';
7
import yetenek from '../../src/components/yetenek.vue';
8
import referanslar from '../../src/components/referanslar.vue';
9
import iletisim from '../../src/components/iletisim.vue';
10
Is there a way to do same thing with less lines? Could be great if I can assign variable name from filename. Can PHP help about it? But then how to compile main.js? I did not figured out.
Advertisement
Answer
I use this script in a file named “index.js” to “export default all exported default in every file in the current folder” sort of thing:
JavaScript
1
8
1
const files = require.context('.', false, /.js$/)
2
const modules = {}
3
files.keys().forEach((key) => {
4
if (key === './index.js') return
5
modules[ key.replace(/(./|.js)/g, '') ] = files(key).default
6
})
7
export default modules
8
Then you can import the whole directory by importing it’s name, just like this:
JavaScript
1
2
1
import folder from '../path/to/folder'
2
I hope this helps.