Javascript 网页包无法解析类型脚本模块
我建立了一个中继小网页和打字脚本演示玩。 如果使用webpack.config.js运行webpack,则会出现以下错误:Javascript 网页包无法解析类型脚本模块,javascript,typescript,webpack,ts-loader,Javascript,Typescript,Webpack,Ts Loader,我建立了一个中继小网页和打字脚本演示玩。 如果使用webpack.config.js运行webpack,则会出现以下错误: ERROR in ./js/app.ts Module not found: Error: Can't resolve './MyModule' in '/Users/timo/Documents/Dev/Web/02_Tests/webpack_test/js' @ ./js/app.ts 3:17-38 我不知道问题出在哪里。模块导出应该是正确的 webpack.
ERROR in ./js/app.ts
Module not found: Error: Can't resolve './MyModule' in '/Users/timo/Documents/Dev/Web/02_Tests/webpack_test/js'
@ ./js/app.ts 3:17-38
我不知道问题出在哪里。模块导出应该是正确的
webpack.config.js
const path=require('path');
module.exports={
条目:'./js/app.ts',
输出:{
path:path.resolve(uu dirname,'dist'),
文件名:“bundle.js”
},
模块:{
规则:[
{test:/\.ts$/,使用:'ts loader'}
]
}
};代码>默认情况下,Web包不查找.ts
文件。您可以配置为查找.ts
。不要忘了添加默认值,否则大多数模块都会崩溃,因为它们依赖于自动使用.js
扩展
resolve: {
extensions: ['.ts', '.js', '.json']
}
把这个留给子孙后代,但我有着完全相同的问题,我的问题是我的进入路径不是相对的,而是绝对的。我将条目更改为:
entry: 'entry.ts'
到
尝试了上面所有的建议,但仍然不起作用
最终成为最微小的细节:
在webpack.js中,而不是:
resolve: {
extensions: ['.tsx', '.ts', '.js']
},
订购应为:
resolve: {
extensions: ['.ts', '.tsx', '.js']
},
我不知道为什么这是必要的,老实说,我现在已经不在乎了……我使用的是tsconfig而不是webpack,它还将子模块编译成一个包(index.js)
我的问题是,在从外部引用子模块之前,我忘记了编译子模块(即运行tsc
生成index.js) 我在Webpack4.31.0上,这就是解决方案!我有决心……扩展…'。ts也是一部分,因此我甚至可以在Webpack4.41.5中指定entry:'./entry'
,我以相反的方式解决了错误,从相对输入改为绝对输入。并检查拼写错误-在我的例子中,我添加了ts和tsx,但忘记了开头的点。tsx
resolve: {
extensions: ['.ts', '.tsx', '.js']
},