我试图弄清楚是否可以在没有安装NPM或Node.js的WordPress插件中使用vue-flash-message。我的想法是尝试包含脚本
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.min.js"></script>
<script src="<?php echo plugins_url('/vue-comp/vue-flash-message/vue-flash-message.min.js', __FILE__);?>"></script>
然后执行以下操作:
<script type="text/javascript">
import Vue from 'vue';
import VueFlashMessage from 'vue-flash-message';
Vue.use(VueFlashMessage);
new Vue({
// root node
el: "#vue_contact_form_app",
// the instance state
data: function () {
return {}
}
然后做
this.flash(...);
但这行不通。
您正在使用用于将外部模块加载到当前作用域的import
语句。
在最简单的理解水平上,这些行:
import Vue from 'vue';
import VueFlashMessage from 'vue-flash-message';
只能在 NodeJS 环境中有效。不仅如此,它还需要一个像 Babel 这样的转换器来使这些代码行在 NodeJS 环境中有效,因为 NodeJS 的模块管理系统目前只支持require()
加载外部模块的方法。
如果你不知道 Babel 是什么,这里有一个简短的描述:
Babel 是一个 JavaScript 编译器。Babel 是一个工具链,主要用于在当前和较旧的浏览器或环境中将 ECMAScript 2015+ 代码转换为向后兼容的 JavaScript 版本。
然后,您的问题的答案:
是否可以在没有安装NPM或Node的情况下在WordPress插件中使用vue-flash-message.js
那是不可能的。