gpt4 book ai didi

javascript - 无法使用 webpack 4 和 babel 7 导入 soap-npm 模块

转载 作者:行者123 更新时间:2023-11-30 19:29:05 24 4
gpt4 key购买 nike

我在旧的 Framework7 (v4.4.3) 中更新了 Webpack (v4.34.0)Babel (v7.4.5)/Vue.js (v2.6.10) 项目。

我需要使用 node-soap库在我的浏览器中作为soap客户端,但是当运行webpack编译的代码时,这个库的值是undefined

import soap from 'soap'
console.log('Soap Library Imported: ', soap)
Soap Library Imported: undefined

axios 库中一切正常。

import axios from 'axios'
console.log('Axios Library Imported: ', axios)
Axios Library Imported: ƒ wrap() {...}

我想我在使用 babel 时遇到了模块导入问题,但我正在找出问题出在哪里。

感谢您的帮助。


.babelrc

{
"presets": [
["@babel/preset-env", {
"modules": "auto",
"targets": {
"browsers": [
"Android >= 5",
"IOS >= 9.3",
"Edge >= 15",
"Safari >= 9.1",
"Chrome >= 49",
"Firefox >= 31",
"Samsung >= 5",
],
},
}],
],
"plugins": [
"transform-vue-jsx",
// "@babel/plugin-transform-runtime",
"@babel/plugin-syntax-dynamic-import",
],
}

webpack.config.js(提取)

module.exports = {
mode: env,
node: {
setImmediate: false,
dgram: 'empty',
fs: 'empty',
net: 'empty',
tls: 'empty',
child_process: 'empty',
},
module: {
rules: [
{
test: /\.(js|jsx)$/,
use: 'babel-loader',
include: [
resolvePath('src'),
resolvePath('node_modules/framework7'),
resolvePath('node_modules/framework7-vue'),
resolvePath('node_modules/template7'),
resolvePath('node_modules/dom7'),
resolvePath('node_modules/ssr-window'),
resolvePath('node_modules/soap'),
],
},
},
}

最佳答案

可能发生的事情是 node-soap 没有默认导出(参见 soap.js )并且您没有导入它的任何命名导出,因此它们在 webpack 的编译过程中被丢弃tree shaking你得到的只是一个空 block (你可以通过检查 webpack 生成的包来确认这一点)。

尝试将 node-soap 方法直接导入为命名导出,例如createClient :

import { createClient } from 'soap'

关于javascript - 无法使用 webpack 4 和 babel 7 导入 soap-npm 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56619573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com