如何从内部设置一些环境变量package.json以与npm start类似命令一起使用
这是我目前拥有的package.json:
{
...
"scripts": {
"help": "tagove help",
"start": "tagove start"
}
...
}
Run Code Online (Sandbox Code Playgroud)
在这里,我想NODE_ENV在启动脚本中设置环境变量(例如),同时仍然只能使用一个命令启动应用程序npm start.
我在尝试使用npm start命令调试节点应用程序时收到此错误.
错误:
npm ERR! Windows_NT 6.3.9600 npm ERR! argv "C:\Program Files\nodejs\\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "start" npm ERR! node v0.12.7 npm ERR! npm v2.11.3
npm ERR! missing script: start npm ERR! npm ERR! If you need help, you may report this error at: npm ERR! https://github.com/npm/npm/issuesnpm ERR! Please include the following file with any support request: npm ERR! C:\Users\andrmoll.NORTHAMERICA\Documents\GitHub\SVIChallenge\npm-debug.log
From the debug file:
verbose stack Error: missing script: start
4 verbose stack at run (C:\Program Files\nodejs\node_modules\npm\lib\run-script.js:142:19)
4 verbose stack at …
npm run dev我想知道和之间有什么区别npm run start。令我惊讶的是,我在网上找不到太多关于这个主题的信息。
具体来说,我想了解 React 和 Next JS 的背景。
我注意到,使用 React,您可以通过运行来启动应用程序npm run start,而无需先运行构建。另一方面,Next JS 的行为似乎并不相同(但我可能在设置上做错了)。我尝试使用 运行一个新的 Next 应用程序npm run start,因为它是 中的默认脚本package.json,但它不起作用。它显示此错误:*Error: Could not find a production build*
相反,运行npm run dev会创建一个 .next 文件夹,并在端口 3000 上启动服务器,没有出现任何问题。
谁能帮助我理解这是如何工作的?
我想在npm脚本中引用我的包版本,以便在应用程序中显示当前版本.就像是
{
"name": "bla",
"version": "1.0.0",
"author": "bla bla",
"scripts": {
"build": "node VERSION=<<package.version>> build/build.js"
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
当我想创建一个 React 应用程序时,我遇到了以下错误:
Run Code Online (Sandbox Code Playgroud)npm ERR! Response timeout while trying to fetch https://registry.npmjs.org/react-is (over 30000ms) npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\info\AppData\Roaming\npm-cache\_logs\2020-04-23T02_54_45_865Z-debug.log Aborting installation. npm install --save --save-exact --loglevel error react react-dom react-scripts cra-template has failed. Deleting generated file... package.json Deleting app2/ from C:\Users\info Done.
我刚看了一个谈话,其中发言者建议在运行:
npm config set ignore-scripts true
这样包的安装后脚本和安装前脚本就不会运行。这样,您就可以避免恶意程序包中的病毒。
我的问题是:运行此命令后,我是否必须对 npm install 软件包执行不同的操作并使它们在项目中工作?
如果在使用 npm 时运行此命令不会带来额外的不便,那么运行它不会有任何缺点。它只会帮助您避免病毒。
如果是这种情况,为什么这不是默认设置?
我问是因为我假设通过忽略包脚本,npm 包的行为会有所不同,人们将不得不手动做更多的事情。
我一直在试图弄清楚如何编写一个npm script最终会在用户浏览器中启动的应用程序,而无需手动打开浏览器并转到localhost:1234.
现在我的脚本读作:
"start": "npm run build && npm run dev",
"build": "npm run clean && npm run mkdir && npm run build:html && npm run build:css && npm run build:js",
"dev": "webpack-dev-server --inline --hot --content-base build --history-api-fallback",
Run Code Online (Sandbox Code Playgroud)
想要添加 "open": <some code here>,
因此,当有人去GitHub并克隆或分离我的存储库时,他们会获得有关如何运行应用程序的说明.我只是认为自动化这将是一个很好的小补充.
有人知道这是怎么回事吗?我很确定它并且认为它与在bash中调用命令有关.在此先感谢您的帮助!
我正在使用 NextJs 和 Typescript 构建一个应用程序。我正在尝试在本地计算机上运行 next build ( yarn build),以在部署之前检查打字稿警告和构建错误。
下一个构建挂在“创建优化的生产构建”处并永远挂起。甚至不知道从哪里开始解决这个问题。有人能帮忙吗?
package.json visual-studio-code npm-scripts vscode-settings vscode-debugger
考虑app.js
const { doCoolStuff } = require("./api/myApi");
// grab param from command line into "myParam"
doCoolStuff(myParam);
... // more code
Run Code Online (Sandbox Code Playgroud)
和Package.json:
{
"name": "-------",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"send": "node app.js"
},
...
}
Run Code Online (Sandbox Code Playgroud)
app.js运行时如何传递参数npm run send?
就像是npm run send myEmail@myDomain.com
npm-scripts ×10
npm ×6
node.js ×4
package.json ×4
reactjs ×3
javascript ×2
next.js ×2
npm-start ×2
express ×1
npm-install ×1
typescript ×1
yarnpkg ×1