如何使用webpack和typescript传输节点_模块

如何使用webpack和typescript传输节点_模块,typescript,webpack,babeljs,node-modules,Typescript,Webpack,Babeljs,Node Modules,所以,我有一个用typescript编写的应用程序,它正在由webpack和babel编译。某些node_模块似乎与浏览器不兼容(尤其是vuetify和direct vuex)。所以我试图设置它,以便这些模块由巴贝尔显式传输。这是我的配置文件的摘录: webpack.js module.exports={ 模式:“发展”, 条目:environment.entry, 决心:{ 扩展名:['*'、'.js'、'.jsx'、'.tsx'、'.ts'], }, 输出:{ 路径:environment.

所以,我有一个用typescript编写的应用程序,它正在由webpack和babel编译。某些node_模块似乎与浏览器不兼容(尤其是vuetify和direct vuex)。所以我试图设置它,以便这些模块由巴贝尔显式传输。这是我的配置文件的摘录:

webpack.js

module.exports={
模式:“发展”,
条目:environment.entry,
决心:{
扩展名:['*'、'.js'、'.jsx'、'.tsx'、'.ts'],
},
输出:{
路径:environment.path.assets.build,
publicPath:environment.path.assets.publicRelative+'/',
文件名:'[name].js',
chunkFilename:'[name].[contenthash].chunk.js'
},
模块:{
规则:[
{
测试:/\(jsx?;tsx?)$/,
排除:/node_modules\/(?!(vuetify | direct vuex))/,
使用:[
{
加载器:“巴别塔加载器”,
},
{
加载器:“ts加载器”,
选项:{
附录后缀:[/\.vue$/],
配置文件:“tsconfig.json”
},
},
],
},
],
},
};
package.json

“巴别塔”:{
“预设”:[
[
“@babel/preset env”,
{
“useBuiltIns”:“用法”,
“corejs”:3
}
]
],
“插件”:[
“@babel/提案类属性”,
“@babel/建议对象剩余排列”
]
},
tsconfig.json

{
“编译器选项”:{
“baseUrl”:“,
“源地图”:正确,
“noImplicitAny”:没错,
“noImplicitReturns”:正确,
“noImplicitThis”:没错,
“模块”:“es2020”,
“moduleResolution”:“节点”,
“目标”:“es5”,
“严格”:是的,
“严格检查”:正确,
“jsx”:“反应”,
“allowJs”:false,
“allowSyntheticDefaultImports”:true,
“实验生态学者”:没错,
“emit decoromentadata”:正确,
“路径”:{
"@/*": ["./*"]
},
“类型根”:[
“../../../node_modules/@types”,
“../../../node_modules/vuetify/types”
],
“类型”:[
“vuetify”
]
}
}
src/store.ts

从“Vue”导入Vue;
从“Vuex”导入Vuex;
从“direct vuex”导入{createDirectStore};
从“./app/store”导入应用程序;
从“vuex persistedstate”导入createPersistedState;
Vue.use(Vuex);
常数{
商店,
根操作上下文,
moduleActionContext,
rootGetterContext,
moduleGetterContext
}=createDirectStore({
模块:{
应用程序
},
});
导出默认存储;
出口{
根操作上下文,
moduleActionContext,
rootGetterContext,
moduleGetterContext,
};
导出类型AppStore=存储类型;
声明模块“vuex”{
接口存储{
直接:应用商店;
}
}
src/app/store.ts

从“direct vuex”导入{defineModule};
从“@/store”导入{moduleActionContext,moduleGetterContext};
从“./darkModeSwitcher/store”导入darkModeSwitcher;
从“/error404/store”导入error404;
从“./homepage/store”导入主页;
从“/localeSwitcher/store”导入localeSwitcher;
从“./login/store”导入登录名;
导出接口状态{
}
常量模块=定义模块({
命名空间:true as true,
状态:{}作为状态,
获取者:{},
突变:{},
行动:{},
模块:{
黑暗巫师,
错误404,
主页
本地交换机,
登录,
}
});
导出默认模块;
//无检查JSUnusedLocalSymbols
const localGetterContext=(args:[any,any,any,any])=>moduleGetterContext(args,module);
//无检查JSUnusedLocalSymbols
const localActionContext=(context:any)=>moduleActionContext(context,module);
但是在编译之后,我得到了以下错误:

WARNING in ./src/App/src/app/LocaleSwitcher/store.ts 3:13-25
"export 'defineModule' was not found in 'direct-vuex'
 @ ./src/App/src/app/store.ts
 @ ./src/App/src/store.ts
 @ ./src/App/src/main.ts
direct vuex和vuetify都有很多错误

只是想明确一点:在不包括vuetify和直接vuex到babel transpiling的情况下,该应用程序可以在Chrome中编译和运行,但不能在Edge等中运行

我错过了什么


谢谢你的帮助。

你能分享你的
store.ts
文件+
tsconfig
文件吗?