带vue.js的requirejs将引发“未定义Vue”

时间:2019-09-27 09:22:13

标签: javascript vue.js requirejs

我使用以下代码:

<script type="text/javascript" src="../../node_modules/requirejs/require.js"></script>
<script type="text/javascript" src="../../node_modules/vue/dist/vue.js"></script>
<script>console.log(Vue)</script>

它将提高:

Uncaught ReferenceError: Vue is not defined

以下代码会很好地工作:

<script type="text/javascript" src="../../node_modules/vue/dist/vue.js"></script>
<script>console.log(Vue)</script>

以下代码也将起作用:

<script type="text/javascript" src="../../node_modules/requirejs/require.js"></script>
<script>
  requirejs(["../../node_modules/vue/dist/vue.js"], (Vue) => {
    window.Vue = Vue;
    console.log(Vue)
  })
</script>

我只想知道,为什么requirejs导致window.Vue = null ,有没有办法使使用requirejs导入Vue与不使用requirejs导入Vue一样?

1 个答案:

答案 0 :(得分:0)

我找到了简单的解决方案,只需在requirejs之前导入vue.js

<script type="text/javascript" src="../../node_modules/vue/dist/vue.js"></script>
<script type="text/javascript" src="../../node_modules/requirejs/require.js"></script>
<script>
  console.log(Vue)
</script>

我想requireJS会覆盖vue初始化所需的某些功能,所以window.Vue不是init