标题重写为:Le module semble être un module WebAssembly, mais il n'est pas signalé comme tel pour webpack.
P粉176980522
2023-08-25 23:56:27
<p>J'essaie d'importer un module WebAssembly (écrit en <code>Rust</code> et compilé en utilisant <code>wasm-pack</code>) dans mon projet Vue. Ce que j'ai fait, c'est créer un projet : </p>
<pre class="brush:php;toolbar:false;">vue-cli créer mon-vue-webasm-proj</pre>
<p>J'ai choisi Vue 2.<code>main.js</code>(添加了<code>async beforeCreate()</code>):</p>
<pre class="brush:php;toolbar:false;">/* main.js */
importer Vue depuis 'vue'
importer l'application depuis './App.vue'
Vue.config.productionTip = faux
nouvelle Vue({
rendu : h => h (application),
async avantCreate() {
const wlib= wait import('my-webasm-lib')
console.log(wlib)
},
}).$mount('#app')</pre>
<p>在 <code>npm runserve</code> 之后我收到此错误:</p>
<pre class="brush:php;toolbar:false;">Échec de l'analyse du module : caractère inattendu '' (1:0)
Le module semble être un module WebAssembly, mais le module n'est pas marqué comme module WebAssembly pour webpack.
CHANGEMENT RUPTURE : depuis webpack 5, WebAssembly n'est pas activé par défaut et signalé comme fonctionnalité expérimentale.
Vous devez activer l'une des expériences WebAssembly via 'experiments.asyncWebAssembly: true' (basé sur des modules asynchrones) ou 'experiments.syncWebAssembly: true' (comme webpack 4, obsolète).
Pour les fichiers qui sont transpilés vers WebAssembly, assurez-vous de définir le type de module dans la section « module.rules » de la configuration (par exemple « type : « webassembly/async » »).
(Code source omis pour ce fichier binaire)</pre>
<p><strong>如何修复它?</strong></p>
<p>我尝试将此配置添加到 <code>webpack.config.js</code> 中,正如所说的那样,但没有成功:</p>
<pre class="brush:php;toolbar:false;">module.exports = {
expériences: {
asyncWebAssembly : vrai,
importAsync : vrai
}
}</pré>
<p>我的 <code>package.json</code> 如果如下:</p>
<pre class="brush:php;toolbar:false;">...
"dépendances": {
"core-js": "^3.8.3",
"my-webasm-lib": "fichier:../my-webasm-lib/my-webasm-lib-pkg",
"vue": "^2.6.14"
},
"dépendances dev": {
"@babel/core": "^7.12.16",
"@babel/eslint-parser": "^7.12.16",
"@vue/cli-plugin-babel": "~5.0.0",
"@vue/cli-plugin-eslint": "~5.0.0",
"@vue/cli-service": "~5.0.0",
"eslint": "^7.32.0",
"eslint-plugin-vue": "^8.0.3",
"vue-template-compiler": "^2.6.14"
},
...</pré>
<p><br /></p>
Un peu tard pour répondre, mais peut-être que cela aidera quelqu'un.