我更新了旧的Framework7 (v4.4.3)
/Vue.js (v2.6.10)
项目中的Webpack (v4.34.0)
和Babel (v7.4.5)
。
我需要在浏览器中使用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'),
],
},
},
}
2条答案
按热度按时间xn1cxnb41#
可能发生的情况是
node-soap
没有默认导出(参见soap.js
),并且您没有导入它的任何命名导出,因此它们在webpack的tree shaking编译期间被丢弃,您得到的只是一个空块(您可以通过检查webpack生成的包来确认这一点)。尝试将
node-soap
方法直接导入为命名导出,例如createClient
:sg3maiej2#
要使用listen(server),我可以这样做: