【发布时间】: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