Skip to content

Commit b790234

Browse files
committed
Got it to the point of loading the component without styles
1 parent 08c58bd commit b790234

File tree

5 files changed

+35
-16
lines changed

5 files changed

+35
-16
lines changed

package-lock.json

Lines changed: 14 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,15 @@
4242
"dependencies": {
4343
"babel-loader": "^7.1.5",
4444
"css-loader": "^1.0.0",
45+
"dotenv-webpack": "^1.5.7",
4546
"html-webpack-plugin": "^3.2.0",
4647
"inquirer": "^6.0.0",
4748
"less-loader": "^4.1.0",
4849
"sass-loader": "^7.0.3",
4950
"vue-loader": "^15.2.4",
5051
"vue-style-loader": "^4.1.0",
5152
"webpack": "^4.15.1",
53+
"webpack-plugin-replace": "^1.1.1",
5254
"webpack-serve": "^1.0.4"
5355
}
5456
}

src/engine/webpack.config.js

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
const webpack = require('webpack')
22
const HtmlWebpackPlugin = require('html-webpack-plugin')
33
const path = require('path')
4-
const entry = require('../entry')
4+
const VueLoaderPlugin = require('vue-loader/lib/plugin')
55

66
module.exports = opts => {
7+
console.log(opts)
78

89
const config = {
910
devtool: 'eval-source-map',
11+
mode: 'development',
1012
devServer: {
1113
contentBase: opts.cwd,
1214
compress: true,
1315
open: true,
1416
port: 9000,
1517
disableHostCheck: true
1618
},
17-
entry: () => new Promise(resolve => resolve(entry(opts.componentName, opts.entry))), // './test/demo/entry.js',
19+
entry: path.resolve(__dirname, '../entry/index.js'),
1820

1921
module: {
2022
rules: [
@@ -43,7 +45,12 @@ module.exports = opts => {
4345
},
4446

4547
plugins: [
46-
new HtmlWebpackPlugin()
48+
new HtmlWebpackPlugin(),
49+
new VueLoaderPlugin(),
50+
new webpack.DefinePlugin({
51+
COMP: JSON.stringify(opts.componentName),
52+
LOCA: JSON.stringify(opts.entry)
53+
})
4754
]
4855
}
4956

src/entry/index.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
const entry = (componentName, fileImport) =>
2-
`
3-
document.querySelector('body').innerHTML = '<div id="app"><${componentName} /></div>'
1+
document.querySelector('body').innerHTML = `<div id="app"><${COMP} /></div>`
42

5-
import Test from '${fileImport}'
6-
import Vue from 'vue/dist/vue.js'
7-
`
3+
const Component = require(LOCA)
4+
const Vue = require('vue/dist/vue.js')
85

9-
module.exports = entry
6+
Vue.component(Component.default.name, Component.default)
7+
8+
new Vue({ el: '#app' })

tests/demo/SimpleComponent.vue

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<template>
2-
<div>
3-
<h2>A Simple Component</h2>
2+
<div class="sc__container">
3+
<h2 class="sc__container-title">A Simple Component</h2>
44
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce in magna urna. Ut id dolor non eros vestibulum rutrum eget eu purus. Vestibulum et eros massa. In hendrerit sem vel quam blandit aliquam. Nunc mauris leo, sagittis at enim in, dictum ultrices elit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin rutrum nisi in tellus semper sagittis vel ac nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Cras ullamcorper neque vel leo venenatis vestibulum.</p>
55
<p>Nunc tristique, purus in accumsan feugiat, neque sapien varius odio, non porta sapien orci sed nunc. Donec sed magna lorem. Aliquam volutpat massa quam, porttitor ornare dui iaculis et. Curabitur fermentum, dolor eu laoreet volutpat, velit nulla hendrerit dui, sed consectetur magna dui eget libero. Nulla ut egestas sapien. Duis pellentesque neque vitae ornare dignissim. Curabitur viverra velit a sem scelerisque, vitae mattis risus egestas. Integer vehicula vulputate est, at scelerisque lorem laoreet et. Pellentesque mattis tellus ex. Donec efficitur risus eu tellus pellentesque malesuada. Pellentesque finibus diam vel iaculis fringilla. Curabitur porttitor metus non quam mollis, non semper elit vulputate. Phasellus id sem tempor, lobortis est sed, elementum tortor. Nunc commodo magna at orci fringilla porttitor.</p>
66
<p>Sed quis dapibus lorem. Praesent hendrerit imperdiet molestie. Sed eu metus vel tellus varius lobortis sed id leo. Interdum et malesuada fames ac ante ipsum primis in faucibus. Donec gravida nulla at justo ultricies interdum. In eu aliquam tortor. Morbi a nibh id nisl laoreet luctus.</p>
@@ -13,5 +13,4 @@
1313
export default {
1414
name: 'simple-component'
1515
}
16-
</script>
17-
16+
</script>

0 commit comments

Comments
 (0)