无法在 PHP/HTML 页面中包含 Vue 模块:SyntaxError: import not found: VueNativeSock
Posted
技术标签:
【中文标题】无法在 PHP/HTML 页面中包含 Vue 模块:SyntaxError: import not found: VueNativeSock【英文标题】:Unable to include Vue module in PHP/HTML page: SyntaxError: import not found: VueNativeSock 【发布时间】:2019-08-06 11:09:22 【问题描述】:我正在构建一个混合应用程序:它是一个静态 Yii2 (php) web 应用程序,其中包含 Vue.js 的某些部分。
我通过antkaz/yii2-vue 成功使用了 Vue,但现在我无法在页面中包含vue-native-websocket Vue 模块。
(经过长时间的故障排除并在 Matt LaGrandeur's tips 的帮助下)我已将此 html 块添加到页面:
<script type="module">
import VueNativeSock from '/web/assets/a95a22eb/dist/build.js'
Vue.use(VueNativeSock, 'ws://localhost:9090')
</script>
但我在 FF65 中仍然遇到此错误:
语法错误:找不到导入:VueNativeSock
我被困住了!如果我删除大括号(在上述提示之前),我会得到 p>
语法错误:找不到导入:默认
如何导入模块?谢谢
【问题讨论】:
【参考方案1】:使用 assets 文件夹的问题是文件夹名称可能会更改。当您注册 Vue 资产时,您可以保存注册资产的实例。如果您var_dump()
有可以保存的路径吗?
vueAsset = VueAsset::register($this);
var_dump( $vueAsset );
【讨论】:
事实上你的导入不应该只是 '/assets/a95a22eb/dist/build.js' - 我仍然不会依赖使用硬编码的 assets 文件夹。 我没有硬编码资产路径,这只是一个例子。发布后,使用register
函数获取路径,上面就是生成的html。完成后,我仍然得到 import not found
那么你需要“/web”吗?
不,我没有 404 错误!它必须是模块本身的东西以上是关于无法在 PHP/HTML 页面中包含 Vue 模块:SyntaxError: import not found: VueNativeSock的主要内容,如果未能解决你的问题,请参考以下文章
在 React 文件中包含 NPM 模块:Webpack 无法解析
Flutter 错误:VM 快照无效,无法从设置中推断。 - 当想要在 android 项目中包含 Flutter 模块时