当将输出从一个输出到另一个时,是否可以使用node-sass和postcss autoprefixer生成完全可用的源图?我目前在package.json中有以下内容:
"scripts": {
"sass": "node-sass sass/app.scss --source-map true --source-map-embed true",
"postcss:autoprefixer": "postcss --use autoprefixer -b 'last 2 versions' --map",
"css": "npm run sass -s | npm run postcss:autoprefixer -s > css/app.css"
}
Run Code Online (Sandbox Code Playgroud)
这会产生一个半工作的内联源图,但是原始文件的链接不正确,因此在Chrome devtools中点击它们将不会加载它们(看起来它们被处理为相对链接,然后从css文件夹中引用).我尝试通过向--source-map-contents truenode-sass 添加选项来修复此问题,但随后autoprefixer错误,我怀疑因为它不喜欢dataUri的行长度.
理想情况下,我更喜欢输出一个单独的.map文件,但设置node-sass选项--source-map css/app.css.map不会写出任何东西,大概是因为只有css输出到stdout.
我不仅可以从项目根目录还可以从子文件夹运行 NPM 脚本,这很好。但是,受限于它不能告诉我当前的工作路径 ($PWD)。
假设有一个这样的命令:
"scripts": {
...
"pwd": "echo $PWD"
}
Run Code Online (Sandbox Code Playgroud)
如果我npm run pwd在项目根目录的子文件夹中运行(例如,$PROJECT_ROOT/src/nested/dir),它不会打印出我当前的路径$PROJECT_ROOT/src/nested/dir,而是总是$PROJECT_ROOT返回。有没有办法告诉 NPM 脚本使用我当前的工作目录而不是解析到package.json所在的位置?
基本上,我想将 Yeoman 生成器拉入现有项目并通过 NPM 脚本使用它,以便每个人都可以使用共享知识(例如npm run generator),而不是学习任何特定于 Yeoman 的东西(例如npm i yo -g; yo generator)。由于生成器根据当前工作路径生成文件,而 NPM 脚本始终解析为项目根目录,因此我无法在打算使用的地方使用生成器。
我正在创建一些私有的npm包,并postinstall在这些包上有一个脚本.postinstall当我在软件包上开发时,脚本运行良好,但我遇到的问题是当我将软件包引入另一个项目并进行安装时,它正在运行devDependency postinstall脚本.
我不希望它这样做,我只想让它做,postinstall如果我从该目录进行安装.我怎么能这样做或者我可以使用什么而不是在不遇到postinstall这个问题的情况下完成同样的事情呢?
我正在尝试在 windows 上管理 react 项目的配置,它以前在 mac 上运行。我正在使用yarn build. 里面package.json scripts>build被配置为"rm-rf deployment/static;react-scripts build && mv build deployment/static". 由于rm-rfandmv命令适用于 Linux,我尝试使用rmdir/delandmove代替.. 但它似乎不起作用。我收到错误:Parameter format not correct - "static"。
我需要为 npm 和 yarn 编写通用脚本。
{
"scripts": {
"build:clean": "rim-raf dist",
"test:clean": "rim-raf coverage",
"clean": "npm run build:clean; npm run test:clean"
}
}
Run Code Online (Sandbox Code Playgroud)
{
"scripts": {
"build:clean": "rim-raf dist",
"test:clean": "rim-raf coverage",
"clean": "yarn run build:clean; yarn run test:clean"
}
}
Run Code Online (Sandbox Code Playgroud)
{
"scripts": {
"build:clean": "rim-raf dist",
"test:clean": "rim-raf coverage",
"clean": "$_ run build:clean; $_ run test:clean"
}
}
Run Code Online (Sandbox Code Playgroud)
但有时它不能正常工作。
存在一些合法的方法来做到这一点?
我需要在本地构建我的 React NextJS 项目以在 Appache 服务器上托管它,当我运行命令时run build它没有生成构建文件夹。
IR&D,每个人都推荐,ZEIT – Next.js build with Now但它在云上构建项目,但我需要为我的本地appache服务器构建。所以请帮帮我。
这是我的 package.json:
......
"scripts": {
"dev": "node server.js",
"build": "next build",
"start": "next start"
},
......
Run Code Online (Sandbox Code Playgroud) 我正在用npm脚本中的browserslist测试Babel。
这是我当前的package.json,Babel正在按照我的期望进行操作:
{
"name": "npm-scripts-igloo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"devserver": "live-server",
"watch-sass": "node-sass sass/style.scss css/style.css --output-style expanded --watch",
"compile-sass": "node-sass sass/style.scss css/style.compiled.css --output-style expanded",
"prefix-css": "postcss css/style.compiled.css --use autoprefixer -o css/style.prefix.css",
"compress-css": "node-sass css/style.prefix.css css/style.min.css --output-style compressed",
"build-css": "npm-run-all compile-sass prefix-css compress-css",
"babel": "babel app.js --watch -o js/app.compiled.js",
"start": "npm-run-all -p devserver watch-sass babel"
},
"browserslist": [
"last 5 versions"
],
"babel": {
"presets": [
[
"env",
{
"targets": {
"browsers": [
"cover 99.5%"
]
} …Run Code Online (Sandbox Code Playgroud) cross-browser package.json babeljs npm-scripts babel-preset-env
我已经创建了一个npm 包脚本npx depcheck,它的参数之一是--ignore,它的值越来越长,我预计会越来越长。
"audit:depcheck": "npx depcheck --specials=bin --ignore-dirs=dist,node_modules --ignores=tslint,gts,ts-node,ts-node-dev,typescript,mocha,winston,passport-springcm,passport-box,passport-dropbox-oauth2,passport-google-oauth20,passport-microsoft,mocha,nyc",
Run Code Online (Sandbox Code Playgroud)
尝试过:我曾尝试将很长的脚本简单地分成新行,但这种方法不符合 JSON 标准。
目标:做同样的事情,但在 110 个字符宽度的编辑器中可读。
我已经设置了浏览器同步来使用 nodemon 和 express。我没有使用 gulp 或 grunt,而是通过我的 package.json 文件中的 npm 脚本运行所有内容。
现在,一切正常,但我在运行脚本时遇到错误,想知道错误是关于什么以及如何修复它。
首先,这是我的设置:
{
"scripts": {
"dev": "npm run development",
"dev:css": "postcss assets/css/style.css -o public/assets/css/style.css",
"dev:sync": "browser-sync start --proxy 'localhost:3000' --files='./views/**/*.html' --no-ui --no-notify",
"development": "cross-env NODE_ENV=development concurrently \"npm:dev:css\" \"nodemon app.js -e js,html\" \"npm:dev:sync\"",
},
"dependencies": {
"concurrently": "^5.2.0",
"express": "^4.17.1"
},
"devDependencies": {
"browser-sync": "^2.26.10",
"cross-env": "^7.0.2"
}
}
Run Code Online (Sandbox Code Playgroud)
这是错误消息:
YError: Invalid first argument. Expected boolean or string but received function.
[dev:sync] at argumentTypeError (C:\laragon\www\projects\startup-reporter--node\node_modules\yargs\build\lib\argsert.js:64:11)
[dev:sync] at C:\laragon\www\projects\startup-reporter--node\node_modules\yargs\build\lib\argsert.js:45:17 …Run Code Online (Sandbox Code Playgroud) 我在当前正在进行的 Laravel 项目中安装了 vue 和 npm,以学习使用 vue.js 框架进行前端开发。
安装后,教程说我需要运行来查看我在和 中npm run dev所做的更改,运行后我得到了完整的问题日志,我无法集中精力弄清楚发生了什么。../resources/js/components/Posts/Index.vue../resources/js/components/app.jsnpm run dev
0 verbose cli [
0 verbose cli 'D:\\Program Files\\nodejs\\node.exe',
0 verbose cli 'C:\\Users\\Gediminas\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js',
0 verbose cli 'run',
0 verbose cli 'watch'
0 verbose cli ]
1 info using npm@7.5.3
2 info using node@v14.15.1
3 timing config:load:defaults Completed in 2ms
4 timing config:load:file:C:\Users\Gediminas\AppData\Roaming\npm\node_modules\npm\npmrc Completed in 3ms
5 timing config:load:builtin Completed in 3ms
6 timing config:load:cli Completed in 1ms
7 timing config:load:env Completed …Run Code Online (Sandbox Code Playgroud) npm-scripts ×10
npm ×6
package.json ×4
javascript ×2
node.js ×2
reactjs ×2
yarnpkg ×2
autoprefixer ×1
babeljs ×1
browser-sync ×1
express ×1
next.js ×1
node-sass ×1
npm-install ×1
postcss ×1
pwd ×1
vue.js ×1
yo ×1