小编kim*_*gro的帖子

browserify-shim找不到模块

鉴于以下内容:

main.js

var angular = require('angular');
Run Code Online (Sandbox Code Playgroud)

的package.json

{
  "main": "./main.js",
  "browser": {
    "angular": "./vendor/angular/angular.js"
  },
  "browserify-shim": {
    "angular": "angular"
  },
  "browserify": {
    "transform": [ "browserify-shim" ]
  },
  "dependencies": {
    "browserify-shim": "~3.2.0"
  }
}
Run Code Online (Sandbox Code Playgroud)

运行时:

browserify . -d -o bundle.js
Run Code Online (Sandbox Code Playgroud)

已成功创建捆绑包,browserify-shim诊断程序的输出为:

{
  file: 'D:\\development\\js\\browserify\\main.js',
  info:
  {
    package_json: 'D:\\development\\js\\browserify\\package.json',
    packageDir: 'D:\\development\\js\\browserify',
    shim: undefined,
    exposeGlobals:
    {},
    browser:
    {
      angular: './vendor/angular/angular.js'
    },
    'browserify-shim':
    {
      angular: 'angular'
    },
    dependencies:
    {
      'browserify-shim': '~3.2.0'
    },
    lookedUp: false
  },
  messages: ['Found "angular" in browser field referencing "./vendor/angular/angular.js" and …
Run Code Online (Sandbox Code Playgroud)

browserify

6
推荐指数
1
解决办法
5074
查看次数

是否需要打字稿类型定义?

我对typescript定义文件的理解是它们用于提供工具支持,而不是编译typescript所必需的.

但是考虑到以下因素:

app.ts

import {Observable} from 'rx';

Observable
    .interval(1000)
    .subscribe(n => console.log(n));
Run Code Online (Sandbox Code Playgroud)

运行:

npm install typescript rx --save
.\node_modules\.bin\tsc app.ts --module commonjs 
Run Code Online (Sandbox Code Playgroud)

给出错误:

app.ts(1,26): error TS2307: Cannot find module 'rx'.
Run Code Online (Sandbox Code Playgroud)

导入rx的类型定义修复此问题

app.ts

/// <reference path="./node_modules/rx/ts/rx.all.d.ts" />

import {Observable} from 'rx';

Observable
    .interval(1000)
    .subscribe(n => console.log(n));
Run Code Online (Sandbox Code Playgroud)

问题

  • 看来定义文件是必需的,总是这样吗?
  • rx npm包中包含定义文件.打字稿是否可以自动搜索节点模块文件夹以找到它们而无需我明确地引用它们?

更新

basarat对于该typings物业是正确的.有关更多信息,请参阅npm包的类型

typescript

6
推荐指数
1
解决办法
4193
查看次数

Webpack、Babel 7.4.0 和 core-js 3

鉴于以下

package.json

{
    "name": "webpack-babel7",
    "version": "1.0.0",
    "main": "index.js",
    "license": "MIT",
    "devDependencies": {
        "@babel/core": "^7.4.4",
        "@babel/preset-env": "^7.4.4",
        "babel-loader": "^8.0.5",
        "webpack": "^4.30.0",
        "webpack-cli": "^3.3.2"
    },
    "dependencies": {
        "core-js": "3"
    }
}
Run Code Online (Sandbox Code Playgroud)

babel.config.js

const presets = [
    [
        '@babel/env',
        {
            targets: {
                chrome: '74',
            },
            useBuiltIns: 'usage',
            debug: true,
            corejs: 3,
        },
    ],
]

module.exports = { presets }
Run Code Online (Sandbox Code Playgroud)

webpack.config.js

const path = require('path')

module.exports = {
    entry: './src/index.js',
    mode: 'production',
    output: {
        filename: 'main.js',
        path: path.resolve(__dirname, 'dist'),
    },
    module: {
        rules: …
Run Code Online (Sandbox Code Playgroud)

webpack babeljs webpack-4

6
推荐指数
2
解决办法
1万
查看次数

Microsoft.Extensions.* 版本混淆

我有一个库目标netstandard2.0,我在ASP.NET Core 2.2依赖几个Microsoft.Extensions包的应用程序中使用它

这是我的 csproj

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="2.2.0" />
    <PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="2.2.0" />
  </ItemGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)

我现在希望能够在新ASP.NET Core 3应用程序和现有ASP.NET Core 2.2应用程序中使用相同的库。

查看Microsoft.Extensions.*软件包,它们的版本似乎总是与ASP.NET Core.

我的选择是

  • 什么都不做.. 这个包还能在ASP.NET Core 3应用程序中工作吗?
  • 3.0将这些软件包升级到它们的等效版本 .. 这个软件包在ASP.NET Core 2应用程序中仍然有效吗?
  • 保留现有包(用于ASP.NET Core 2.2应用程序),但3.0使用ASP.NET Core 3.0应用程序中使用的等效项创建新包

总体问题是作为库作者,Microsoft.Extensions.*包的特定版本与其在特定ASP.NET Core目标中的使用之间有什么关联?

asp.net-core

6
推荐指数
1
解决办法
687
查看次数

尝试捆绑socket.io的Webpack问题

我正在尝试构建一个包含socket.io的webpack包

的package.json

{
  "name": "socketio-webpack",
  "version": "1.0.0",
  "description": "",
  "license": "ISC",
  "dependencies": {
    "socket.io": "1.4.4"
  },
  "devDependencies": {
    "babel-core": "6.4.0",
    "babel-loader": "6.2.1",
    "babel-preset-es2015": "6.3.13",
    "socket.io": "1.4.4",
    "webpack": "1.12.11"
  }
}
Run Code Online (Sandbox Code Playgroud)

webpack.config.js

var path = require('path');

module.exports = {
    entry: "./src/entry.js",

    output: {
        path: __dirname,
        filename: "bundle.js"
    },

    module: {
        loaders: [
            {
                test: /\.js?/,
                include: path.resolve(__dirname, 'src'),
                loaders: [
                    'babel?presets[]=es2015',
                ]
            }
        ]
    }
};
Run Code Online (Sandbox Code Playgroud)

SRC/entry.js

import Server from 'socket.io';
Run Code Online (Sandbox Code Playgroud)

运行webpack会发出以下警告和错误:

Hash: 0bfb3971f31b27c6c1fb
Version: webpack 1.12.11
Time: 2106ms
    Asset     Size …
Run Code Online (Sandbox Code Playgroud)

webpack

5
推荐指数
1
解决办法
6440
查看次数

NuGet - 为所有NuGet引用解析SDK样式项目

有没有办法使用NuGet.Client或以其他方式解析所有NuGet引用和版本的新SDK样式项目.

我想你不能只是csproj自己解析文件PackageReference,build.props甚至是自定义msbuild目标.

用例是我想编写一个xplat .net核心全局工具,该工具将分析具有多个项目的解决方案,并列出所有直接引用的nuget包,并显示是否有更新的版本可用.

nuget

5
推荐指数
0
解决办法
174
查看次数

Hangfire - 重新安排预定的作业

要重新安排计划的作业,我目前正在删除以前的作业,然后在事务中安排新的作业,因此如果计划失败,它会回滚删除:

using (var transaction = new TransactionScope(TransactionScopeOption.Required))
{
    BackgroundJob.Delete(jobId);
    BackgroundJob.Schedule(...);
}
Run Code Online (Sandbox Code Playgroud)

这涉及将原始参数保存在某处,以便我可以使用原始参数重新安排时间。

我想知道执行以下操作是否有任何后果:

new BackgroundJobClient().ChangeState(jobId, new ScheduledState(timespan), ScheduledState.StateName);
Run Code Online (Sandbox Code Playgroud)

这样就不需要保留原始的工作参数并且也是事务性的。

hangfire hangfire-sql

5
推荐指数
0
解决办法
83
查看次数

用于自托管模式的WebApi按请求存储

托管WebApi是IIS时,您可以访问HttpContext,并可以使用items集合来存储单个HTTP请求的对象.

当自托管时,您不再拥有HttpContext,那么我可以使用什么来存储单个请求的对象?

self-hosting asp.net-web-api

4
推荐指数
1
解决办法
1526
查看次数

VSCode-显示所选文本的主题范围

我正在尝试为vscode编写自定义主题。为了做到这一点,我需要知道vscode将源代码标记化时应用于每个标记的主题范围。

例如,源中的特定关键字标记为constant.numericconstant

反正有显示此信息吗?

visual-studio-code

4
推荐指数
1
解决办法
761
查看次数

是否可以将 xUnit 与 LINQPad 一起使用?

是否可以将 xUnit 与 LINQPad 一起使用?

能够首先为在 LINQPad 中设计的概念编写一些测试会很棒。这比添加另一个 ConsoleApp23423894238 更容易,只是为了能够快速编写一些单元测试。

xunit xunit.net linqpad

4
推荐指数
2
解决办法
726
查看次数