VS2017,ASP.net,Typescript和npm

时间:2018-02-28 06:19:21

标签: visual-studio typescript npm

我在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年)我明白要求一个简单的解决方案可能太过分了......

1 个答案:

答案 0 :(得分:0)

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

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