编译期间出现以下警告:
>警告在./src/app/state/actions/userClass.ts中有多个 名称仅与套管不同的模块。这可能会导致 与其他文件系统一起编译时的意外行为 案例语义。使用相同的套管。比较这些模块标识符: * /Users/smp/Projects/training3/node_modules/@angularclass/hmr-loader/index.js!/Users/smp/Projects/training3/node_modules/awesome-typescript-loader/dist/entry.js?{configFileName: “tsconfig.webpack.json”}!/用户/ SMP /项目/ training3 / node_modules / angular2模板装载机/ index.js!/用户/ SMP /项目/ training3 / node_modules /角路由器装载机/ src目录/索引?.js文件加载=系统和放大器; genDir =编译和放大器;!AOT =假/Users/smp/Projects/training3/src/app/state/actions/UserClass.ts 由1个模块使用,i。即 /Users/smp/Projects/training3/node_modules/@angularclass/hmr-loader/index.js!/Users/smp/Projects/training3/node_modules/awesome-typescript-loader/dist/entry.js?{configFileName: “tsconfig.webpack.json”}!/用户/ SMP /项目/ training3 / node_modules / angular2模板装载机/ index.js!/用户/ SMP /项目/ training3 / node_modules /角路由器装载机/ src目录/索引?.js文件加载=系统和放大器; genDir =编译和放大器;!AOT =假/Users/smp/Projects/training3/src/app/features/portal/content/tabs/userclasses/userclasses.component.ts * /Users/smp/Projects/training3/node_modules/@angularclass/hmr-loader/index.js!/Users/smp/Projects/training3/node_modules/awesome-typescript-loader/dist/entry.js?{configFileName: “tsconfig.webpack.json”}!/用户/ SMP /项目/ training3 / node_modules / angular2模板装载机/ index.js!/用户/ SMP /项目/ training3 / node_modules /角路由器装载机/ src目录/索引?.js文件加载=系统和放大器; genDir =编译和放大器;!AOT =假/Users/smp/Projects/training3/src/app/state/actions/userClass.ts 由3个模块使用,i。即 /Users/smp/Projects/training3/node_modules/@angularclass/hmr-loader/index.js!/Users/smp/Projects/training3/node_modules/awesome-typescript-loader/dist/entry.js?{configFileName: “tsconfig.webpack.json”}!/用户/ SMP /项目/ training3 / node_modules / angular2模板装载机/ index.js!/用户/ SMP /项目/ training3 / node_modules /角路由器装载机/ src目录/索引?的.js装载机=系统&安培; genDir =编译&安培;!AOT =假/Users/smp/Projects/training3/src/app/state/effects/userClass.ts
答案 0 :(得分:39)
我的档案名称很好。这个问题突然出现,因为在我的一个导入中我大写了UserClass:
import * as userClassActions from '../../../../../state/actions/UserClass';
将导入更改为以下后,错误消失了:
import * as userClassActions from '../../../../../state/actions/userClass';
答案 1 :(得分:9)
由于编写导入文件时出错,我遇到了同样的错误。
检查您是否写过文字-> 从“ @ angular / Router”导入{RouterModule};
现在,将其更改为-> 从“ @ angular / router”导入{RouterModule};
这解决了我的问题。希望它也对您有用。
请参阅下面的图片以更清晰
答案 2 :(得分:1)
如果您使用 Visual Studio代码进行编码,则可能有时会用大写字母添加路径,而有时用小写字母添加路径。
在我的情况下,由于 Angular Material 组件是从'@angular/material'
的某些文件中导入的,而另外(至少2个)其他文件是从'@angular/Material'
导入的,因此出现错误。
下部壳体'@angular/Material'
删除了该警告。
希望这会有所帮助。
答案 3 :(得分:0)
我在使用asp.net core 2.0和web pack实现angular 4 App时遇到了这个问题。
如果您使用两个不同的" ./"导入服务或类,则会发生此问题;或" ../"相对路径表示法。
导航NavMenuComponent中的代码。
import { SampleService } from '../../services/sample.service';
使用以下代码更改错误已解决
import { SampleService } from './../../services/sample.service';
答案 4 :(得分:0)
检查是否已导入两次。
答案 5 :(得分:0)
这也可能是由于您的webpack配置中的条目引起的:
const path = require('path');
const webpack = require('webpack');
module.exports = {
mode: 'development'
, entry: {
crm: './Scripts/app/crm/crm.router.js'
, labels: './Scripts/app/labels/labels.router.js'
, admin: './scripts/app/crm/admin/admin.router.js'
}
, output: {
filename: '[name]Bundle.js'
, path: path.resolve(__dirname, 'dist')
}
///...
};
在输入部分注意脚本与脚本的区分。
答案 6 :(得分:0)
在将文件重命名为大写之后,我收到了该警告。
将特定文件移动到另一个文件夹并返回到原始文件夹后,警告消失了。
(我使用带有一些角度扩展名的VSC来移动文件时更新导入)
答案 7 :(得分:0)
我遇到了这样的问题,解决方案是创建一个子文件夹,在其中放置问题组件。
所以代替:
import {EventsComponent} from './Shared/Components/events/events.component';
执行以下操作:
import {EventsComponent} from './Shared/Components/About Event/events/events.component';
答案 8 :(得分:0)
此问题的一个令人讨厌的可能原因:组件路径中的大小写混合-使其相同。例如,
import {EventsComponent} from './events/events.component';
import {OtherComponent} from './Events/other.component';