4

我试图了解在使用JSPM安装模块后如何运行可执行文件。例如,如果我运行jspm install gulp,那么我希望能够运行以下命令:

./jspm_packages/npm/gulp\@3.8.11/bin/gulp.js

实际上,如果 jspm 能够处理这个问题会更好,以便在以下位置有一个隐藏的 bin 目录,其中包含所有检索到的可执行文件(例如 gulp):

./jspm_packages/.bin

这样我就可以在我的 PATH 环境变量中添加一个允许这些可执行文件运行的内容。

目前,当我尝试运行 jspm 安装的 gulp 时,我收到以下错误消息:

[jspm-test]$ ./jspm_packages/npm/gulp\@3.8.11/bin/gulp.js 
./jspm_packages/npm/gulp@3.8.11/bin/gulp.js: line 1: /bin: Is a directory
./jspm_packages/npm/gulp@3.8.11/bin/gulp.js: line 2: syntax error near unexpected token `('
./jspm_packages/npm/gulp@3.8.11/bin/gulp.js: line 2: `(function(process) {'

我还有其他方法可以解决这个问题吗?

4

2 回答 2

0

我同意@SleepyProgrammer 的回应。

JSPM 是一个专门针对前端依赖的包管理器,很像 bower。

使用项目的前端依赖项安装 gulp 很奇怪。
您宁愿安装 gulp、karma、express 等,并将 npm 作为开发依赖项,在本地开发服务器上捆绑和处理内容,然后将结果作为 js、css、html 文件提供......

一个简单的$(npm bin)/gulp -v制作

话虽如此,我为我的测试安装了带有 jspm 的酶,以便能够导入它。


如果你想在你的节点项目中使用 jspm,你总是可以使用这个命令:

jspm run script

请参阅文档:http: //jspm.io/docs/nodejs-usage.html

于 2017-02-10T20:30:20.913 回答
0

以我的经验,这对于 JSPM 来说很奇怪,因为 JSPM 更适合您的应用程序的 deps,这些应用程序实际上是在浏览器中生产的。我在我的项目中所做的是安装我需要使用 NPM 使用脚本/in dev(gulp、karma、express 等)运行的模块,然后您可以使用节点运行它们:

node ./node_modules/karma/bin/karma.js <args>

这有点奇怪,但如果你认为它是 NPM 处理本地的、未在生产中使用的“可执行”dep,而 JSPM 处理将被捆绑和发布的应用程序的 deps,这是有道理的。

于 2016-03-18T13:14:31.267 回答