我将为 React 和 Node 构建样板,根文件夹结构如下所示
- (root level)
- client - src
- public
- package.json
- ...
- package.json
- server.js
- node_modules
Run Code Online (Sandbox Code Playgroud)
在根文件夹的 package.json 中,我有一些代码,例如:
"start": " nodemon ./server.js | react-scripts start ./client"
Run Code Online (Sandbox Code Playgroud)
当我运行时npm start,只有反应应用程序被构建并运行,节点应用程序不运行。有关如何运行npm startReact 和 Node 应用程序的任何提示吗?
对了,我已经"proxy": "http://localhost:5000/"在客户端的package.json中设置了。server.js 的代码如下
const port = process.env.PORT || 5000;
// console.log that your server is up and running
app.listen(port, () => console.log(`Listening on port ${port}`));
Run Code Online (Sandbox Code Playgroud)
谢谢。
解决方案:
非常感谢罗德里戈普的回复。
我使用并发包来解决我的问题。
我的package.json …
正如我从 webpack 中得到的,这里 webpack -p将设置繁琐的文档
正如我从同一个文档中得到的,这里 webpack --mode=production将设置
(粗体项目是两个不同标志之间的共享行为。)
我应该将其视为--mode=production“完整”版本吗-p?互联网上的一些指南使用-p,其他使用--mode=production,有些甚至两者都使用。
另外,很高兴知道是否--mode=production有任何区别,--mode production因为对我来说,两个版本都工作得很好
另外,这里有一个线程,它说-p“并行运行命令”。这是节点的标志,与-pwebpack 具有相同的名称吗?
我在用webpack ^4.41.2
我的文件夹中有VueJS应用程序 ( Vue CLI 3) 和其他静态 JS 脚本public。.env而且我不明白如何在此使用.js。
假设我有一些特定的环境变量,例如MY_URL我的 JS 文件:
const myUrl = process.env.VUE_APP_MY_URL;
Run Code Online (Sandbox Code Playgroud)
它不起作用,因为public据我所知,文件夹中的静态文件不会被 webpack 处理。
也许有人知道好的解决方案?或者也许还有其他解决方案\解决方法?
就我而言,我添加.js并src添加新entry的chainWebpack:
config.entryPoints.delete('app')
config.entry('app')
.add('./src/main.ts')
.end()
.entry('myScript')
.add('./src/myScript.js')
.end()
Run Code Online (Sandbox Code Playgroud)
现在 webpack 将脚本构建为单独的文件,但注入index.html到app.js. 这不是我真正想要的。
因此,主要目的 - 构建具有特定名称的独立静态 JS 文件,不带哈希值(例如,myScript.js),其中包含来自.env( .env.production, .env.development)的变量
我正在设置一个 package.json 文件,该文件将启动 Nodemon、运行我的 watch css 命令并使用“npm start”命令运行浏览器同步。
这适用于我工作时的 Mac 计算机,但不适用于我家中的 Windows 计算机。
在我的 Mac 上,它将监听服务器和 SCSS 文件的任何更改,并运行浏览器同步。
在 Windows 上,它仅运行 Nodemon 并等待任何服务器更改。看起来它忽略了我的其他两个命令。
我需要为 Windows 做一些不同的事情吗?理想情况下,我希望代码能够在两个平台上通用。
Nodemon 似乎是这里的问题,因为 watch-css css 和 browsersync 可以工作,但 nodemon 之后的任何内容都不起作用。
"scripts": {
"build-css": "node-sass --output-style compressed --source-map true -o public/css scss",
"watch-css": "nodemon -e scss -x \"npm run build-css\"",
"build-js": "browserify js/app.js -o public/js/app.js",
"browser-sync": "browser-sync start --port 4000 --proxy 'localhost:3000' --files 'views/*' 'public/**/*' --no-notify",
"start": "nodemon ./bin/www & npm run watch-css & npm run …Run Code Online (Sandbox Code Playgroud) 是否可以使用 npm 启动 angular 默认服务器(端口:4200)和 node.js(端口:8080)?
包.json:
"start":"ng serve && node server.js"
Run Code Online (Sandbox Code Playgroud)
如果我运行npm start,则只有 angular 的服务器(4200)开始运行,而节点的服务器(8080)不会。
有没有办法让两台服务器都必须使用 npm 同时在各自的端口上运行。
需要别人的帮助。
如何仅通过键入 npm start 来启动这两个功能?
"scripts"{
"server": "json-server --watch appointmentList.json",
"start": "react-scripts start",
}
Run Code Online (Sandbox Code Playgroud)
我一直在做的是在不同的终端运行它们
node.js ×3
reactjs ×2
webpack ×2
angular ×1
browser-sync ×1
javascript ×1
json-server ×1
node-sass ×1
nodemon ×1
vue-cli ×1
vue.js ×1
webpack-4 ×1