我想使用该npm run dev --host命令在 LAN 上公开我的 svelte 应用程序,但它显示:
> frontend@0.0.1 dev
> svelte-kit dev
SvelteKit v1.0.0-next.295
local: http://localhost:3000
network: not exposed
Use --host to expose server to other devices on this network
Run Code Online (Sandbox Code Playgroud) 我正在创建一个 bash 脚本,它运行在我的每个项目中,并npm run test在test脚本存在时运行。
我知道,如果我进入一个项目并运行npm run它,它将为我提供可用脚本列表,如下所示:
Lifecycle scripts included in www:
start
node server.js
test
mocha --require @babel/register --require dotenv/config --watch-extensions js **/*.test.js
available via `npm run-script`:
dev
node -r dotenv/config server.js
dev:watch
nodemon -r dotenv/config server.js
build
next build
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何获取该信息,查看是否test可用然后运行它。
这是我当前的代码:
#!/bin/bash
ROOT_PATH="$(cd "$(dirname "$0")" && pwd)"
BASE_PATH="${ROOT_PATH}/../.."
while read MYAPP; do # reads from a list of projects
PROJECT="${MYAPP}"
FOLDER="${BASE_PATH}/${PROJECT}"
cd "$FOLDER"
if [ check here if the command …Run Code Online (Sandbox Code Playgroud) 我正在试用Hello World 示例扩展。但是当我从“运行扩展”任务运行扩展时。它给出了以下错误:
The terminal process command '/bin/zsh -c 'npm run watch'' failed to launch (exit code: 127)
Run Code Online (Sandbox Code Playgroud)
但是我能够从终端运行上述命令而没有任何错误。
我刚刚使用 Node.js 初始化了一个新项目,并尝试使 package.json 文件中的脚本正常工作。
例如我有下一个 package.json 文件:
{
"name": "my-app-name",
"version": "1.0.0",
"description": "Description server",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node app.js"
},
"author": "Something LTD",
"license": "ISC",
"dependencies": {
"body-parser": "^1.18.3",
"cron": "^1.3.0",
"crypto": "^1.0.1",
"docusaurus-init": "^1.0.2",
"exceljs": "^1.5.0",
"express": "^4.16.3",
"express-limiter": "^1.6.1",
"jsonwebtoken": "^8.3.0",
"mongojs": "^2.6.0",
"npm": "^6.1.0",
"point-in-polygon": "^1.0.1",
"request": "^2.87.0",
"socket.io": "^2.1.1",
"socket.io-redis": "^5.2.0",
"xmldom": "^0.1.27"
},
"devDependencies": {
"t4u": "^1.0.0"
}
}
Run Code Online (Sandbox Code Playgroud)
然后,我要么试图运行npm test …
npm run build在react-create-app项目上运行命令会在所有文件中创建一个构建文件夹和一些默认路径,例如地图文件:
{"version":3,"sources":["../static/js/main.500cb0d9.js" ...
Run Code Online (Sandbox Code Playgroud)
我可以更改构建文件夹中的所有路径以匹配我的BE,例如
{"version":3,"sources":["mywebsite/web/static/js/main.500cb0d9.js" ...
Run Code Online (Sandbox Code Playgroud)
的package.json:
{
"name": "reactTest",
"version": "0.1.0",
"private": true,
"dependencies": {
"jquery": "^3.3.1",
"moment": "^2.22.1",
"react": "^16.4.1",
"react-datepicker": "^1.5.0",
"react-dom": "^16.4.1",
"react-month-picker": "^1.3.7",
"react-scripts": "1.1.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
}
}
Run Code Online (Sandbox Code Playgroud) 我在运行的 Nodejs 应用程序之一上遇到了问题npm start(它只是这样做node app.js)。
我的应用程序包含一个 sigint 处理程序,如下所示:
process.on('SIGINT', () => {
db.disconnect().then({
process.exit(0);
}).catch(e => process.exit(1));
});
Run Code Online (Sandbox Code Playgroud)
带有相应的日志。在对其他文件进行了一些测试之后,我注意到npm如果第一个需要很长时间才能退出,那么在进程上的 Ctrl-C会触发两次 SIGINT。(尝试在示例应用程序上添加超时)。
现在我已经添加了一个计数器来检查调用是否多次执行,但我不确定这是关于这个问题的“要走的路”。我猜测 npm 进程上的 SIGINT 预计会在某个时间范围内退出,这就是 npm 再传递一次(总是只有两次)的原因。
有没有人遇到过这个问题并找到了可行的解决方案?
谢谢!
我的 Dockerfile 执行RUN npm run build命令。当我docker build在 t2.micro EC2 实例上执行命令时,实例冻结并且不响应(我什至无法使用 ssh 连接)。当我监控CPU使用率时,我可以看到CPU使用率达到了最高水平。因此,我尝试使用--max_semi_space_size=1和--max_old_space_size=198参数来限制内存使用,但它不起作用。
如果我可以为 docker build 命令设置 CPU 使用限制,我认为它可能会起作用。有人能帮我吗?
我知道,如果我增加 EC2 实例的 vCPU 数量,那么我可以毫无问题地构建我的应用程序,但由于它是一个演示项目,我尝试将其部署在免费层上。
Dockerfile:
FROM node:16-alpine
COPY . .
# Install dependencies
RUN node \
--max_semi_space_size=1 \
--max_old_space_size=198 \
$(which npm) ci
# Build the app
RUN node \
--max_semi_space_size=1 \
--max_old_space_size=198 \
$(which npm) run build
EXPOSE 3000
# Start the app
CMD [ "npx", "serve", "build" ]
Run Code Online (Sandbox Code Playgroud) 使用 Laravel Mix,是否可以使用一个命令查看两个 Webpack 配置文件,以便对任何底层文件的更改立即导致必要的文件被编译?
具体来说,我有以下两个与 Laravel Mix 一起使用的 Webpack 配置文件:webpack.css.mix.js和webpack.js.mix.js
scripts然后我在的对象中有以下命令package.json:
"development-css": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --watch --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js --env.mixfile=webpack.css.mix",
"development-js": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --watch --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js --env.mixfile=webpack.js.mix",
"watch": "npm run development-css -- --watch & npm run development-js -- --watch",
Run Code Online (Sandbox Code Playgroud)
该npm run watch命令仅监视指定的第一个命令。在上述情况下,我保存到 Sass 文件的任何更改都会构建,但不会更改任何 JS/Vue 文件。如果我在命令中切换这两个命令watch,那么 JS 将基于更改/保存构建,而不是 Sass。
有谁知道如何构造命令npm run watch(或底层命令),以便我可以同时观看 Sass 和 JS?
另外,值得一提的是,由于目前 Laravel Mix 中的一个错误,我不得不将 Sass 和 JS 编译分成两个单独的文件。此错误记录在此处:https ://github.com/JeffreyWay/laravel-mix/issues/1914 …
当我npm run ios在终端中运行时,出现以下错误
错误:node_modules/expo-router/entry.js:[BABEL]:expo-router/babel 已弃用,取而代之的是 SDK 50 中的 babel-preset-expo
我尝试安装 babel-preset-expo,但它已经安装了
在package.json内部,是否可以测试node_modules目录是否存在?我的目标是如果不存在则打印一条消息node_module,例如:
node_module not existent: use npm run dist
Run Code Online (Sandbox Code Playgroud)
dist我的 package.json中的脚本在哪里scripts。谢谢。
npm-run ×10
npm ×5
node.js ×4
npm-scripts ×3
reactjs ×2
bash ×1
cpu-usage ×1
docker ×1
docker-build ×1
expo ×1
ios ×1
laravel-mix ×1
linux ×1
react-native ×1
server ×1
shell ×1
sveltekit ×1
watch ×1
webpack ×1