【问题标题】:VS2017, ASP.net, Typescript, and npmVS2017、ASP.net、Typescript 和 npm
【发布时间】:2018-08-07 22:53:06
【问题描述】:

我在 Visual Studio 中有一个现有的 ASP.net 应用程序。直到最近我才使用 JavaScript。现在我想使用 Typescript。安装和转译效果很好。但是,当我想导入模块时遇到了困难。

我的想法是使用 npm 来加载模块,例如我加了package.json

"devDependencies": {
  "typestyle": "^1.7.1",
}

我想通过以下方式在我的 .ts 文件中导入:

import { style } from 'typestyle';

问题:npm 下载到文件夹node_modules 不属于我的项目(但它在我的项目文件夹内); import 语句没有找到需要的文件。

目前我正在使用 requirejs 来启用导入语句,如 here 所述。我的tsconfig.json 看起来像这样:

{
  "compilerOptions": {
    "noImplicitAny": true,
    "noEmitOnError": true,
    "sourceMap": true,
    "target": "es5",
    "module": "amd",
    "moduleResolution": "node"
  }
}

我可以手动下载typestyle.js,放到我的项目文件夹下,配置requirejs配置文件main.js,让它找到。但后来我没有使用 npm。

如何导入使用 npm 加载的模块?我想使用requirejs。我不想要 Angular 或 React。如果可能的话,我还想避免让我的项目变得不必要的复杂的其他事情(Mocha、node.js、knockout、Webpack、Gulp、Browserify,...)

编辑

好的,在阅读 NPM vs. Bower vs. Browserify vs. Gulp vs. Grunt vs. Webpack 之后,我想我确实需要一个像 Webpack 或 Browserify 这样的模块打包器。但是也许VS2017中集成了一些我可以使用的工具?

EDIT2

在阅读How it feels to learn JavaScript in 2016(注意:这是 2018 年)之后,我明白要求一个简单的解决方案可能太过分了......

【问题讨论】:

  • 如果您已经使用全局安装了 npm,则在命令提示符下使用 npm -v 检查安装的 npm 版本。我认为您必须提供visual studio -> Option 中node_modules 文件夹的路径,如hanselman.com/blog/… 下方的此链接中给出的那样
  • 我正在使用 VS2017 中集成的 npm。它是 3.3.4 版,位于 /Web/External/npm.cmd。但是即使我更改了 node_modules 路径,requirejs 怎么知道在哪个子文件夹中查找任何特定的 .js 文件?

标签: visual-studio typescript npm


【解决方案1】:

最后我找到了适合我需要的解决方案。由于它很长,我将发布链接(project source codehttp://codingsight.com/using-npm-webpack-and-typescript-to-create-simple-aspnet-core-web-app/

目前唯一的缺点:它使用 Webpack 而不是 requirejs。 Webpack 是一个模块打包器。所有 .js 文件/模块都合并为一个巨大的 .js。默认不延迟加载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-09
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 2018-05-26
    • 2019-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多