outDir
在使用时,我似乎无法使标志工作package.json
.目录结构非常简单:tsconfig.json
在根级别,与src/
目录和单个index.ts文件以及表示其他模块的其他目录一起使用.
在tsc
索引文件上运行该命令时,它会在它旁边而不是在构建目录中创建一个新命令.我究竟做错了什么?
我的tsconfig:
{
"compilerOptions": {
"outDir": "build"
}
}
Run Code Online (Sandbox Code Playgroud)
我的npm构建脚本:
"build": "tsc src/index.ts"
Run Code Online (Sandbox Code Playgroud)
我正在从项目的根目录调用脚本.有趣的是,使用--outDir
标志运行相同的脚本可以正常工作.
我是nodejs和gulp的新手.我在一个nodejs项目上工作,我必须在所有文件上运行jslint.我正在使用gulp用于此目的.
我的问题是,为了在cli上运行gulp,我不想全局安装gulp,也不想更新我的路径变量,所以我使用package.json文件在本地项目中安装了gulp和其他节点模块
cd myproject
npm安装
因为我不想全局安装gulp并且想要运行本地gulp,所以在我的package.json文件中添加了脚本,就像这个问题中给出的一样
{
"name": "",
"version": "1.0.0",
"main": "index.js",
"private": true,
"dependencies": {
"async": "1.5.0"
},
"devDependencies": {
"gulp": "^3.9.0",
"gulp-jslint": "^0.2.2"
},
"scripts": {
"gulp": "./node_modules/.bin/gulp" // is this correct?
}
}
Run Code Online (Sandbox Code Playgroud)
在我的myproject文件夹中添加了一个gulpfile.js
var gulp = require('gulp');
// include plug-ins
var jslint = require('gulp-jslint');
// JS hint task
gulp.task('lint', function() {
gulp.src('./common/srp/*.js')
.pipe(jslint())
.pipe(jslint.reporter('default'));
});
gulp.task("default", ["lint"]);
Run Code Online (Sandbox Code Playgroud)
但现在我在myproject文件夹中的命令行,当我运行gulp和gulp lint时,我收到一个错误
user1-VirtualBox:〜/ myproject $ gulp lint
/usr/local/node-v0.10.26-linux-x64/bin/gulp没有这样的文件或目录
它寻找全局节点模块中的gulp.
有没有办法让gulp在cli上运行而无需全局安装并更新PATH变量.
任何帮助将不胜感激谢谢
我最近分叉了一个GitHub存储库来修复问题,并创建了一个pull请求.当我等待拉取请求被接受时,我已将我的本地指向package.json
我的分叉仓库,如下所示:
devDependencies: {
"karma-mocha": "maloric/karma-mocha"
}
Run Code Online (Sandbox Code Playgroud)
然而事实证明,karma-mocha
需要执行构建步骤来生成lib/adapter.js
- 包的重要部分.此文件列在.gitignore
,因此在存储库中不存在.构建步骤是一个繁琐的任务,通常在包发布到npm时执行,因此adapter.js
存在于下载的npm模块中.
我的问题是:打包存储库的分叉构建版本的正确方法是什么,以便我可以将其用作依赖项?据我所知,我有以下选择:
.tgz
使用构建的文件创建文件,然后将其托管在某处并将package.json指向该文件..gitignore
为允许adapter.js
,然后推送到Github上的分支并使用该分支作为我的依赖项.这些都可以,但我觉得我错过了一些东西.npm是否有分叉包的概念?并不是每个git存储库都可以用作依赖,而不需要某种构建/分析步骤,那么做这种事情的可接受方式是什么?
我使用Terraform的一个项目,我在我的两个任务package.json
来启动terraform plan
和terraform apply
.
"scripts": {
"tf:apply": "terraform apply",
"tf:plan": "terraform plan"
}
Run Code Online (Sandbox Code Playgroud)
对于这两个命令,我需要先执行terraform get
.我想pretask
两个人都只有一个.
我试着用:
"scripts": {
"pretf:*": "terraform get",
"tf:apply": "terraform apply",
"tf:plan": "terraform plan"
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
是否有任何方法可以使用NPM
或Yarn
仅使用?或者我是否被迫为这两项任务编写完全相同的预处理?
"start": "node server/server.js"
- 启动我的服务器,在此命令之前我想要自动命令'webpack'
;
npm run someCommand
- 在终端必须使用webpack
,比node server/server.js
; 知道如何用gulp配置这个,但不要用它)) "dev"true在package-lock.json文件中的含义是什么?
在我的情况下,当我执行npm操作时它会自动更新.
我们怎样才能删除它?
我的 React 项目有一个很大的问题。
我正在尝试更新项目中的库,但出了问题。
这是package.json
. 请注意,react-scripts
版本设置为"^4.0.3"
.
{
"name": "server",
"version": "1.1.0",
"description": "",
"main": "index.js",
"engines": {
"node": "v14.16.0",
"npm": ">=7.6.0"
},
"scripts": {
"start": "node index.js",
"server": "nodemon index.js",
"client": "npm run start --prefix client",
"dev": "concurrently \"npm run server\" \"npm run client\"",
"heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client"
},
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^1.19.0",
"concurrently": "^5.3.0",
"cookie-parser": "^1.4.5",
"cookie-session": "^1.4.0",
"cors": "^2.8.5",
"express": …
Run Code Online (Sandbox Code Playgroud) node.js package.json dependency-tree npm-audit npm-vulnerabilities
我尝试过谷歌搜索,但找不到任何东西,所以在这里尝试 - 我们最近升级到node 16.13.0
和npm 8.1.0
,完成后npm install
我们得到以下差异package-lock.json
:
- "devOptional": true
+ "dev": true
Run Code Online (Sandbox Code Playgroud)
和
- "integrity": "sha512-15Ft8p1vVEvBQDjZV6XSQULHIbRTetygyGyaF953pq/ukW0AnnHD3Kra7NasJxryWfbBrD18i11uors0CvnOwg==",
- "requires": {}
+ "integrity": "sha512-15Ft8p1vVEvBQDjZV6XSQULHIbRTetygyGyaF953pq/ukW0AnnHD3Kra7NasJxryWfbBrD18i11uors0CvnOwg=="
Run Code Online (Sandbox Code Playgroud)
一小部分软件包会发生这种情况,但这个小百分比是 60 左右的软件包,我不明白为什么会发生这些差异(特别是因为我们使用相同的node
/ npm
)
当我运行ESLint时,我收到以下错误:
1:13 error 'joi' should be listed in the project's dependencies. Run 'npm i -S joi' to add it import/no-extraneous-dependencies
2:16 error 'lodash' should be listed in the project's dependencies. Run 'npm i -S lodash' to add it import/no-extraneous-dependencies
Run Code Online (Sandbox Code Playgroud)
但是,我安装了这两个模块并在我的package.json
:
"joi": "^10.4.2",
// Some other packages
"lodash": "^4.17.2",
Run Code Online (Sandbox Code Playgroud)
和运行:
npm i -S joi
Run Code Online (Sandbox Code Playgroud)
没有帮助或解决问题.我也有很多其他包package.json
,只有这两个包有问题.这可能是一个错误,但ESLint有很多眼睛,我认为我更有可能做错了什么...只是我无法弄清楚是什么(这些包看起来和其他任何一个一样我的package.json
).
任何人都可以建议我(无意中)做出关于这两个软件包的ESLint投诉,只有那两个软件包,尽管它们被安装了吗?
编辑
这是我的package.json(删除了一些不相关的标识位):
{
"name": "foo",
"version": "1.0.0",
"engines": {
"node": "6.9.4"
},
"scripts": {
"some": "scripts",
}, …
Run Code Online (Sandbox Code Playgroud) 今天github在我的github存储库上显示以下错误:
我们在您的某个依赖项中发现了潜在的安全漏洞../package-lock.json中定义的依赖项具有已知的安全漏洞,应予以更新.
单击"查看易受攻击的依赖关系"按钮后显示以下消息
5.0.3之前的hoek节点模块通过'merge'遭受假定不可变数据(MAID)漏洞的修改
直到昨天它没有出现这样的错误.我没有对这个存储库进行任何超过5天的推送.不知道为什么会这样.
package.json ×10
node.js ×4
npm ×4
git ×2
github ×2
build ×1
command-line ×1
eslint ×1
git-fork ×1
gulp ×1
javascript ×1
json ×1
node-modules ×1
npm-audit ×1
npm-install ×1
outdir ×1
tsc ×1
typescript ×1
yarnpkg ×1