`document` 在 webpack vue.js 之后为空
`document` is null after webpack vue.js
我尝试用vuejs和webpack构建一个项目。
这是我的 index.js
import Vue from 'vue'
import App from './app.vue'
console.log(document.body)
const root = document.createElement('div')
document.body.appendChild(root)
new Vue({
render:(h) => h(App)
}).$mount(root)
webpack到bundles.js后,在浏览器上运行,出现:
如您所见,文档变为空。
为什么文档不起作用?这个错误是我的问题还是来自 vue.js?
这是我的 webpack.config.js:
const path = require("path")
module.exports = {
entry:path.join(__dirname,"./src/index.js"),
output: {
path: path.join(__dirname,"dist"),
filename: "bundle.js"
},
module:{
rules:[
{
test: /\.vue$/,
loader:"vue-loader"
},
{
test:/\.css$/,
use:[
'style-loader',
"css-loader"
]
},
{
test:/\.(gif|jpg|jpeg|png|svg)$/,
use:[
{
loader: "url-loader",
options: {
"limit":1024,
name:"[name]-aaa.[ext]"
}
}
]
}
]
}
}
这是package.json
{
"description": "todolist",
"license": "MIT",
"scripts": {
"build": "webpack --config webpack.config.js"
},
"dependencies": {
"vue": "2.5.16"
},
"devDependencies": {
"webpack-cli": "^3.0.3",
"webpack": "^4.11.1",
"css-loader": "^0.28.11",
"file-loader": "^1.1.11",
"style-loader": "^0.21.0",
"url-loader": "^1.0.1",
"vue-loader": "^14.2.2",/*15. 版本不行*/
"vue-template-compiler": "^2.5.16"
}
}
我假设您的 index.js
位于 HTML 的头部,并且由于 JavaScript 资源正在阻塞,您的 body 甚至还没有被定义。
您需要将 JavaScript 放在您定位的元素之后,或者您需要使用 onload
事件。
https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onload
我尝试用vuejs和webpack构建一个项目。
这是我的 index.js
import Vue from 'vue'
import App from './app.vue'
console.log(document.body)
const root = document.createElement('div')
document.body.appendChild(root)
new Vue({
render:(h) => h(App)
}).$mount(root)
webpack到bundles.js后,在浏览器上运行,出现:
如您所见,文档变为空。
为什么文档不起作用?这个错误是我的问题还是来自 vue.js?
这是我的 webpack.config.js:
const path = require("path")
module.exports = {
entry:path.join(__dirname,"./src/index.js"),
output: {
path: path.join(__dirname,"dist"),
filename: "bundle.js"
},
module:{
rules:[
{
test: /\.vue$/,
loader:"vue-loader"
},
{
test:/\.css$/,
use:[
'style-loader',
"css-loader"
]
},
{
test:/\.(gif|jpg|jpeg|png|svg)$/,
use:[
{
loader: "url-loader",
options: {
"limit":1024,
name:"[name]-aaa.[ext]"
}
}
]
}
]
}
}
这是package.json
{
"description": "todolist",
"license": "MIT",
"scripts": {
"build": "webpack --config webpack.config.js"
},
"dependencies": {
"vue": "2.5.16"
},
"devDependencies": {
"webpack-cli": "^3.0.3",
"webpack": "^4.11.1",
"css-loader": "^0.28.11",
"file-loader": "^1.1.11",
"style-loader": "^0.21.0",
"url-loader": "^1.0.1",
"vue-loader": "^14.2.2",/*15. 版本不行*/
"vue-template-compiler": "^2.5.16"
}
}
我假设您的 index.js
位于 HTML 的头部,并且由于 JavaScript 资源正在阻塞,您的 body 甚至还没有被定义。
您需要将 JavaScript 放在您定位的元素之后,或者您需要使用 onload
事件。
https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onload