当我运行yarn run watch (在我的laravel项目根中)时,它编译时没有错误。但是,如果我之后编辑了一个文件,它就会显示resources文件夹中的每个resources文件在终端上都有一个错误。.vue文件中的类型记录没有问题。还请注意,我所做的每一个改变似乎也是编译的,所以换句话说,它是有效的.但是错误消息保留在控制台中。
对于每个.ts文件,我得到的错误是:
TS2307: Cannot find module '!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js' or its corresponding type declarations.此文件确实存在于我的node_module文件夹中。
我在谷歌上搜索了它,我找到的唯一一件与我的问题很近的东西就是这个链接:https://github.com/vuejs/vue-loader/issues/634
但建议的解决方案/解决办法对我都没有用。
这是我的tsconfig
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"experimentalDecorators": true,
},
"include": [
"resources/js/**/*"
],
"exclude": [
"vendor",
]
}我怀疑这要么是ts-loader或vue-loader中的配置问题,要么是版本问题。
"ts-loader": "^8.2.0",
"typescript": "^4.3.2"
"vue-loader": "^15.7.0",webpack配置:
module: {
rules: [
{
test: /\.tsx?$/,
loader: "ts-loader",
options: {appendTsSuffixTo: [/\.vue$/]},
exclude: /node_modules/
},
]
},
resolve: {
extensions: ["*", ".js", ".jsx", ".vue", ".ts", ".tsx"]
}请记住,我必须使用8.2.,这样才能使laravel能够使用它。我还使用vue-class-components和vue-property-decator
发布于 2021-08-02 18:24:26
在几个项目中,我遇到了完全相同的问题,唯一的区别是我使用的是Symfony的webpack-encore,它的tsconfig.json略有不同,但我想根本的问题可能是一样的。
在我的例子中,我使用一个app.js文件作为入口文件。将此更改为app.ts解决了此问题。我不知道这为什么重要(也许任何人都可以详细说明)。
发布于 2021-06-10 18:21:31
如果你没有加入到webpack的配置中。
https://vue-loader.vuejs.org/guide/pre-processors.html#typescript
module.exports = {
resolve: {
// Add `.ts` as a resolvable extension.
extensions: ['.ts', '.js']
},
module: {
rules: [
// ... other rules omitted
{
test: /\.ts$/,
loader: 'ts-loader',
options: { appendTsSuffixTo: [/\.vue$/] }
}
]
},
// ... plugin omitted
}
如果它不起作用,请尝试如下
将您的打字本改为“打字本”:"~3.9.3",
发布于 2021-06-21 23:47:57
https://stackoverflow.com/questions/67925815
复制相似问题