首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何配置汇总vue3环境

如何配置汇总vue3环境
EN

Stack Overflow用户
提问于 2021-02-18 21:01:09
回答 1查看 211关注 0票数 0

当我使用rollup配置vue3环境时,我运行它,然后使用html文件中的组件,它发生错误

rollup.config.js this is rollup配置文件下面的代码

代码语言:javascript
复制
const path = require('path')
const resolve = require('rollup-plugin-node-resolve')
const commonjs = require('rollup-plugin-commonjs')
const babel = require('rollup-plugin-babel')
const json = require('rollup-plugin-json')
const vue = require('rollup-plugin-vue')
const postcss = require('rollup-plugin-postcss')

const inputPath = path.resolve(__dirname,'./src/index.js')
const outputUmdPath = path.resolve(__dirname,'./dist/imooc.datav.js')
const outputEsPath = path.resolve(__dirname,'./dist/imooc.datav.es.js')

module.exports = {
  input:inputPath,
  output:[{
    file:outputUmdPath,
    format:'umd',
    name:'imoocDatav',
    globals: {
      vue: 'Vue'
    }
  },{
    file:outputEsPath,
    format:'es',
    globals: {
      vue: 'Vue'
    }
  }],
  plugins:[
    vue(),
    babel({
      exclude:'node_modules/**',
      presets: ["@vue/babel-preset-jsx"]
    }),
    
    resolve(),
   
    commonjs(),
    
    json(),
    // vue(),
    postcss({
      plugins:[]
    })
  ],
 external:['vue'] 
}

Test.vue这是vue3组件

代码语言:javascript
复制
<template>
  <div class="text">{{ aa }}</div>
</template>

<script>
export default {
  name: 'Test',
  setup() {
    const aa = 'hello';
    return {
      aa,
    };
  },
};
</script>

<style lang="scss" scoped>
.text {
  color: red;
}
</style>

index.js使代码成为一个全局组件

代码语言:javascript
复制
import Test from './Test.vue'

export default function(Vue){
  Vue.component(Test.name,Test);
}

index.html这是html文件

代码语言:javascript
复制
<!DOCTYPE html>
<html>
  <head>
    <title>imooc datav libs example</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@3.0.0-beta.6/dist/vue.global.js"></script>
    <script src="../dist/imooc.datav.js"></script>
  </head>
  <body>
    <div id="app">
        {{message}} 
      
       <test></test>
    </div>
    
    <script>
       Vue.createApp({
         setup(){
           var message = 'hello world';
           return {
             message
           }
         }
       }).use(imoocDatav).mount('#app');
    </script>
  </body>
</html>

vue.global.js:4877 TypeError:无法读取未定义的属性'aa‘

EN

回答 1

Stack Overflow用户

发布于 2021-09-22 08:32:14

package.json依赖关系:

代码语言:javascript
复制
"vue": "^3.0.0"

更改:

代码语言:javascript
复制
external:['vue']

代码语言:javascript
复制
external:['@vue']

这对我很管用

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66260505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档