Resolve Error: typescript with invalid interface loaded as resolver : import-no-restricted-paths我的项目中有 ESLint,当我添加规则时出现错误import/no-restricted-paths
tsconfig.json
{
"include": [
"./src/**/*",
"./generated/**/*"
],
"compilerOptions": {
"resolveJsonModule": true,
"target": "es5",
"module": "esnext",
"moduleResolution": "node",
"lib": [
"dom",
"es6"
],
"downlevelIteration": true,
"jsx": "react",
"declaration": false,
"sourceMap": true,
"baseUrl": "src",
"outDir": "./dist/js",
"paths": {
"@generated/*": ["../generated/*"],
"api": ["lib/api"],
"api/*": ["lib/api/*"],
"asset/*": ["lib/asset/*"],
"base/*": ["lib/base/*"]
},
// Rules
"noImplicitAny": false,
"strictNullChecks": true,
"noImplicitThis": true,
"alwaysStrict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"forceConsistentCasingInFileNames": true,
"esModuleInterop": true,
"isolatedModules": …Run Code Online (Sandbox Code Playgroud) 我已经安装了proxyquire,我的ajax.test.tsx文件包含以下代码,只有2行
import * as proxyquire from 'proxyquire';
proxyquire.noCallThru();
Run Code Online (Sandbox Code Playgroud)
我的webpack代码如下
module.exports = {
entry: {
"book.service": './src/book.service.ts',
"ajax.test": './src/ajax.test.tsx'
},
output: {
filename: "[name].js",
path: __dirname + "/dist"
},
devtool: "source-map",
watch: true,
resolve: {
extensions: [".tsx", ".tsx", ".js", ".json", ".ts", '.d.ts']
},
module: {
rules: [
{ test: /\.tsx?$/, loader: "awesome-typescript-loader" },
{ enforce: "pre", test: /\.js$/, loader: "source-map-loader" }
]
},
externals: {
'react/lib/ExecutionEnvironment': true,
'react/addons': true,
'react/lib/ReactContext': 'window'
}
};
Run Code Online (Sandbox Code Playgroud)
我安装了proxyquire&@ types/proxyquire.当我运行webpack命令时,它会抛出以下错误
WARNING in ./~/proxyquire/lib/proxyquire.js
require.extensions is not …Run Code Online (Sandbox Code Playgroud) 我有两个模型类:
public class Candidate
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<Job> Jobs { get; set; }
}
public class Job
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<Candidate> Candidates { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的DbContext名称是JobsContext.
上面的代码生成了3个表候选人,工作和候选人工作(由EF自动生成)
现在我在Jobs表中记录:Id = 1,Name ="Sales":Id = 2,Name ="Engineer".
我想将一个新的Candidate与Jobs表中的2个记录关联到Candidates表中.
在插入候选人之前,我知道了Jobs表的Id,我不想调用数据库来从Jobs表中获取更多细节.
如何使用Entity Framework 5执行此操作?
注意:我尝试直接在浏览器中访问它https://localhost:5007/accom-web/dist/js/assets/browser-bundle/remoteEntryTest.js并且我收到了remoteEntryTest.js 文件。
这是我在主机中的网络配置。
这是远程应用程序的webconfig。
远程应用程序的优化配置如下。
optimization: {
runtimeChunk: false,
emitOnErrors: true,
splitChunks: {
minSize: 256000,
minChunks: 1,
maxAsyncRequests: 10,
automaticNameDelimiter: '-',
cacheGroups: {
chunks: 'initial',
.....
},
},
.....
}
Run Code Online (Sandbox Code Playgroud)
我也查看了有关此问题的 GitHub 问题,但没有多大帮助。
https://github.com/module-federation/module-federation-examples/issues/307 https://github.com/module-federation/module-federation-examples/issues/1273 https://github.com/模块联合/模块联合示例/问题/692
关于如何解决这个问题有什么建议吗?
我有一个界面
public interface IEvent { }
Run Code Online (Sandbox Code Playgroud)
一个Event类
public class ContactEvent : IEvent { }
Run Code Online (Sandbox Code Playgroud)
两个事件处理程序类
public class ContactCreateHandler : IEventHandler<ContactEvent> { }
public class ContactUpdateHandler : IEventHandler<ContactEvent> { }
Run Code Online (Sandbox Code Playgroud)
在.NET 4.5中,这可以使用Autofac
var assemblies = BuildManager.GetReferencedAssemblies()
.Cast<Assembly>()
.ToArray()
builder.RegisterAssemblyTypes(assemblies)
.AsClosedTypesOf(typeof(IEventHandler<>)).AsImplementedInterfaces().InstancePerRequest();
Run Code Online (Sandbox Code Playgroud)
然后我会得到基于类型T的类列表
var handlerList = _container.Resolve<IEnumerable<IEventHandler<T>>>();
Run Code Online (Sandbox Code Playgroud)
如何在.NET Core中执行此操作
下面给出的是我要在其上触发聚合查询的 Elasticsearch 文档。
{
"id": 1,
"attributes": [
{
"fieldId": 1,
"value": "Male"
},
{
"fieldId": 2,
"value": "12/11/2015"
}
]
}
Run Code Online (Sandbox Code Playgroud)
{
"id": 2,
"attributes": [
{
"fieldId": 1,
"value": "Male"
},
{
"fieldId": 2,
"value": "11/11/2015"
}
]
}
Run Code Online (Sandbox Code Playgroud)
结果必须如下。
[
{
"key": "Male",
"doc_count": 1
}
]
Run Code Online (Sandbox Code Playgroud)
[
{
"key": "12/11/2015",
"doc_count": 1
},
{
"key": "11/11/2015",
"doc_count": 1
}
]
Run Code Online (Sandbox Code Playgroud)
有没有办法在 Elasticsearch 中实现这一点?
假设我有一个对象数组。
arr = [
{'grade': 'A', 'name': 'James'},
{'grade': 'B', 'name': 'Tom'},
{'grade': 'A', 'name': 'Zelda'}
]
Run Code Online (Sandbox Code Playgroud)
我想要这个结果
{
'A': [
{'grade': 'A', 'name': 'James'},
{'grade': 'A', 'name': 'Zelda'}
],
'B': [ {'grade': 'B', 'name': 'Tom'} ]
}
Run Code Online (Sandbox Code Playgroud) 是否有规则可以禁用React.StatelessComponent或React.FunctionalComponent仅使用React.FC
例如:
export const ComponentOne: React.StatelessComponent<Props> = (props) => { return <....> };
export const ComponentTwo: React.FunctionalComponent<Props> = (props) => { return <....> };
Run Code Online (Sandbox Code Playgroud)
应由 ESLint 强制编写为
export const ComponentOne: React.FC<Props> = (props) => { return <....> };
export const ComponentTwo: React.FC<Props> = (props) => { return <....> };
Run Code Online (Sandbox Code Playgroud)
我认为通过规则是可能的no-restricted-syntax,但无法从文档中弄清楚。
typescript ×3
c# ×2
eslint ×2
reactjs ×2
.net-core ×1
aggregation ×1
asp.net-mvc ×1
eslintrc ×1
fastapi ×1
many-to-many ×1
proxyquire ×1
python ×1
webpack ×1
webpack-5 ×1