当将输出从一个输出到另一个时,是否可以使用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脚本,我想要匹配ts和tsx文件扩展名...如下所示:
"test": "mocha ..... app/test/**/*.spec.{ts,tsx}"
Run Code Online (Sandbox Code Playgroud)
但是,上述语法不起作用.这样做的正确语法是什么?
我正在使用 Nest.js 框架开发 Node.js 项目,并且出现错误“JavaScript 堆内存不足”,我的问题是如何为我的应用程序分配更多内存?我还发现有些人说我应该使用 [--max-old-space-size] 来分配内存,所以我尝试将此选项添加到 package.json 脚本中以具有"start" : "nest start --max-old -space-size=4096” 但它不起作用
当我运行时npm set-script prepare ""(在 Windows 命令提示符中使用 npm 版本 8.15.0),输出了警告:
npm WARN set-script set-script is deprecated, use `npm pkg set scripts.scriptname="cmd"` instead.
所以我按照上面的说明进行操作npm pkg set scripts.prepare="",这次输出了错误:
npm ERR! code EUSAGE
npm ERR!
npm ERR! npm pkg set expects a key=value pair of args.
Run Code Online (Sandbox Code Playgroud)
当我尝试npm pkg set scripts.prepare=" "(注意空格)时,这有效,但不允许使用空白字符串似乎很奇怪。这是一个错误还是一个功能......还有其他方法吗?
我在根级 package.json 中定义了一个脚本:
{
"workspaces": [
"packages/*"
],
"scripts": {
"clean": "rm -rf lib dist"
},
"private": true
}
Run Code Online (Sandbox Code Playgroud)
我想在包的上下文中运行此脚本packages/example,该包未定义cleanscript。(我想在我的所有工作区中重用此脚本
我尝试运行npm -w packages/example run clean,但这些命令在其中npm run clean -w packages/example搜索脚本:cleanpackages/example/package.json
npm ERR! Error: Missing script: "clean"
Run Code Online (Sandbox Code Playgroud)
需要明确的是,我想通过在工作区根目录运行脚本来删除lib和dist文件夹。packages/example
注意:我使用这个干净的脚本作为示例。真正的脚本更复杂,我不想在所有工作区中复制它们
有什么想法或者如何在不重新开始的情况下调试它吗?在 API、GraphQL 和 CI 上投入了大量时间。
\n这是一个普通的 create-react-app,在 App.js 中进行了一些细微的更改。使用节点 12.18.3 和 npm 6.14.8 在本地启动和构建。使用 npm@6.9.0 和 node@v10.16.0 进行 Amplify 构建失败。
\n我试图避免使用自定义 Docker 映像来升级节点和 npm。
\n编辑以添加 index.js - 构建日志来自尝试将 .js 附加到 ./App 导入
\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(\n <React.StrictMode> \n <App />\n </React.StrictMode>,\n document.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种在使用时运行脚本的方法npm run <script-name>。
我当前的用例是我想运行一个脚本,以确保在运行任何其他脚本之前正确设置开发环境。
所以,我需要的是这样的:
{
"run-before-all-scripts": "./setup_environment.sh",
"scripts": {
"script_one": "do something",
"script_two": "do somethingelse"
}
...
}
Run Code Online (Sandbox Code Playgroud)
我想出的最好的办法是:
{
"scripts": {
"setup_environment": "./setup_environment.sh",
"script_one": "npm run setup_environment && do something",
"script_two": "npm run setup_environment && do somethingelse"
}
...
}
Run Code Online (Sandbox Code Playgroud)
我想出的唯一更好的解决方案是围绕命令创建一个包装器 shell 脚本npm,这样我就可以调用fancy_npm_run <command>. 但这看起来有点混乱。
有更好的方法来处理这个问题吗?
我已经阅读了多个脚本上的 npm script hook,但它并不是在所有脚本之前运行,也没有得到答复。
我有一个像这样的 package.json :
...
"scripts": {
"dev": "webpack --config webpack.dev.config.js --mode development --progress --colors",
"postdev": "if (Test-Path \"./postdev.sh\" ) { echo \"file exists\"; ./postdev.sh }"
},
...
Run Code Online (Sandbox Code Playgroud)
如何检查文件“postdev.sh”是否存在,然后在 NPM 脚本部分启动它?我在终端中运行该命令并且运行正常,但如果我尝试启动该 npm 脚本,它会显示“意外出现:“./postdev.sh”。”
我为每个操作系统都有这 2 个 npm:
"pack": "cd dist/fold1 && type script11.js script22.js script33.js > all.js",
"pack-unix": "cd dist/fold1 && cat script11.js script22.js script33.js > all.js"
Run Code Online (Sandbox Code Playgroud)
我怎样才能使它们成为一个命令?
喜欢:
"pack": "cd dist/fold1 && <if win than type else cat> script11.js script22.js script33.js > all.js",
我将我们的项目yarn从v1.22升级到v3.1.1。我们使用工作区,所以我有那个插件。一切看起来都很好;其他脚本可以工作,但是当尝试使用 shell 命令时,我收到此错误:
> yarn run start
command not found: if
command not found: then
command not found: fi
Run Code Online (Sandbox Code Playgroud)
这是我们的 package.json 中的脚本:
> yarn run start
command not found: if
command not found: then
command not found: fi
Run Code Online (Sandbox Code Playgroud) npm-scripts ×10
npm ×8
node.js ×5
javascript ×2
autoprefixer ×1
aws-amplify ×1
command-line ×1
express ×1
nestjs ×1
node-sass ×1
package.json ×1
postcss ×1
reactjs ×1
webpack ×1
windows ×1
yarnpkg ×1
yarnpkg-v3 ×1