javascript - Vue 在用 webpack 编译时用注释替换 HTML

标签 javascript webpack vue.js

我遇到的问题是,一旦我import vue,vue 的包装元素(在我的例子中是#app)将被替换为以下注释

<!--function (e,n,r,o){return sn(t,e,n,r,o,!0)}-->

控制台中没有错误,webpack 编译正常,但是我确实从 vue 的 mounted 方法获取了控制台日志。

我的index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <h1>some content</h1>
        {{test}}
    </div>
    <script src="dist/bundle.js"></script>
</body>
</html>

webpack.config.js

const path = require('path');

module.exports = {
    entry: './src/app.js',
    output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'dist')
    }
}

源/app.js

import Vue from 'vue'

const app = new Vue({
    el: "#app",
    data: {
        test: "asdf"
    },
    mounted() {
        console.log('mounted')
    }
})

最佳答案

您正在运行没有模板编译器的仅运行时构建。

查看 https://v2.vuejs.org/v2/guide/installation.html#Webpack

您需要为“vue”创建一个别名,以便 webpack 从您的 node_modules/中包含正确的 vue/dist/*.js:

module.exports = {
  // ...
  resolve: {
    alias: {
      'vue$': 'vue/dist/vue.esm.js'
    }
  }
}

另见 https://forum.vuejs.org/t/what-is-the-compiler-included-build/13239

关于javascript - Vue 在用 webpack 编译时用注释替换 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49334815/

相关文章:

javascript - 从下拉列表生成 .txt 文件

javascript - 如何使用 async.each 获取子函数内部的父函数 This

javascript - 表搜索 - 添加 'no results' 消息

vue.js - 使用 laravel paginate() 和 vuex 进行分页,

javascript - 如何更改数字时钟的位置,使其位于我网站的右上角?

node.js - webpack 5 错误 "Can' t 解析 'uglify-js' , '@swc/core' , 'esbuild'

webpack - 碰到我不理解的babel构建错误

javascript - 在 Vue 中代理 webpack 开发服务器

vue.js - Vue,js如何计算两个输入值并将结果放入另一个输入字段?

vue.js - Vue 2 AOT提前编译