繁体   English   中英

webpack vue.js之后的`document`为空

[英]`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)

将其打包到bundles.js,并在浏览器上运行后,它会上升: 在此处输入图片说明

如您所见,document beacames为null。

为什么文件不起作用? 这个错误是我的问题还是来自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资源受阻,所以您的身体尚未定义。

您需要将JavaScript放在要定位的元素之后,或者需要使用onload事件。

https://developer.mozilla.org/zh-CN/docs/Web/API/GlobalEventHandlers/onload

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM