通过 create-react-app 可以实现process.env.REACT_APP_VERSION
这一点。
Vite中有类似的吗?
所以我使用eslint作为我的反应项目的linter,我希望它能检查我的所有.js
文件.
我可以通过脚本执行此操作:
"lint": "eslint back/*.js && eslint backTest/*.js && eslint front/actions/*.js"
Run Code Online (Sandbox Code Playgroud)
如何让它以.js
递归方式检查每个文件,例如:
"lint": "eslint -r *.js"
Run Code Online (Sandbox Code Playgroud)
这样可以省去我必须在每个文件中输入内容
在此先感谢您的帮助
在package.json
命令行npm init
中创建用于在Node.js中创建模块时,有一个我不知道的测试命令字段.npm help json
在CLI中也没有在文档中提及它.
请解释一下它是什么.
我刚刚更新npm
到5.4.0
.
现在,每当我想安装一个npm包时,我都会收到以下错误:
D:\Sources\DownloadCms\Md.Download\Web.Angular>npm install mds.angular.datetimepicker@latest --save
npm ERR! path D:\Sources\DownloadCms\Md.Download\Web.Angular\node_modules\fsevents\node_modules\abbrev\package.json
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall unlink
npm ERR! Error: EPERM: operation not permitted, unlink 'D:\Sources\DownloadCms\Md.Download\Web.Angular\node_modules\fsevents\node_modules\abbrev\package.json'
npm ERR! at Error (native)
npm ERR! { Error: EPERM: operation not permitted, unlink 'D:\Sources\DownloadCms\Md.Download\Web.Angular\node_modules\fsevents\node_modules\abbrev\package.jso
n'
npm ERR! at Error (native)
npm ERR! stack: 'Error: EPERM: operation not permitted, unlink \'D:\\Sources\\DownloadCms\\Md.Download\\Web.Angular\\node_modules\\fsevents\\node_modules\\ab
brev\\package.json\'\n at Error (native)',
npm ERR! errno: -4048,
npm ERR! code: 'EPERM',
npm ERR! …
Run Code Online (Sandbox Code Playgroud) 我正在尝试将npm作为构建工具.
我遇到的一个绊脚石是我需要将javascript文件从一个文件夹复制到另一个文件夹.源文件夹包含打字稿文件,javascript文件和地图文件,但在目标文件夹中我只对javascript文件感兴趣.
我不想为每个文件创建一个copy-statement,但是想要复制所有.js文件.此外,我的源文件夹包含也包含javascript文件的子文件夹.这些也需要复制,并维护子文件夹结构.
我尝试过使用NCP和过滤器,但我无法使用过滤器.我已经测试了过滤器中使用的正则表达式,它似乎工作正常.测试在做正则表达式测试仪用正则表达式.*\.js$
和测试串状main.ts
,main.js
main.js.map
等等,只有.js文件的字符串相匹配.
我的包json包含以下(缩写):
{
"scripts": {
"copy": "ncp scripts wwwroot/scripts --filter=\".*(\\\\.js$)\""
},
"devDependencies": {
"ncp": "2.0.0.0"
}
}
Run Code Online (Sandbox Code Playgroud)
由于我的正则表达式是一个字符串中的字符串,我已经双重转义它.我也尝试了其他变体,例如:
--filter=/.*\.js$/g - compilation error
--filter=/.*\\.js$/g - no files copied
--filter=\".*\\.js$\" - no files copied
--filter=\"/.*\\.js$/g\" - no files copied
(no filter) - all files copied
Run Code Online (Sandbox Code Playgroud)
我与NCP没有任何关系.如果其他东西效果更好,那么我会用它.
那么:我如何在package.json的脚本部分中仅将具有特定扩展名的文件复制到另一个文件夹?我很确定我忽略了一些令人眼花缭乱的事情......
我开始使用webpack.
我已经能够指定webpack webpack.config.js的位置,如下所示:
"webpack --config ./App/webpack.config.js"
Run Code Online (Sandbox Code Playgroud)
现在我也尝试将webpack-dev-server与该文件一起使用,但是我找不到如何为它指定webpack.config.js位置.
这是我的package.json的相关部分
"scripts": {
"start": "webpack-dev-server --config ./App/webpack.config.js --progress --colors",
"build": "webpack --config ./App/webpack.config.js --progress --colors"
}
Run Code Online (Sandbox Code Playgroud)
如何将./App/目录传递给我的webpack-dev-server?
当我在package.json所在的应用程序文件夹中执行此代码时:
npm update
或者npm update --save-dev
它没有做任何事情.
但是,当我这样做时npm outdated
,显示许多过时的包.
那么如何更新所有包?
OS: Win 10 x64
nodejs: 6.2.2
npm:3.10.7
package.json
{
"name": "tgb-frontend",
"version": "0.0.0",
"license": "MIT",
"angular-cli": {},
"scripts": {
"start": "ng serve",
"lint": "tslint \"src/**/*.ts\"",
"test": "ng test",
"pree2e": "webdriver-manager update",
"e2e": "protractor"
},
"private": true,
"dependencies": {
"@angular/common": "2.0.0",
"@angular/compiler": "2.0.0",
"@angular/core": "2.0.0",
"@angular/forms": "2.0.0",
"@angular/http": "2.0.0",
"@angular/platform-browser": "2.0.0",
"@angular/platform-browser-dynamic": "2.0.0",
"@angular/router": "3.0.0",
"core-js": "^2.4.1",
"rxjs": "5.0.0-beta.12",
"ts-helpers": "^1.1.1",
"zone.js": "^0.6.23"
},
"devDependencies": {
"@types/jasmine": "^2.2.30", …
Run Code Online (Sandbox Code Playgroud) Webpack 4增加了一项新功能:它现在支持捆绑的模块中的sideEffects
标志package.json
.
在过去的30天里,我们与每个框架密切合作,以确保他们已准备好在各自的cli等支持webpack 4.即使像lodash-es这样的流行库,RxJS也支持sideEffects标志,所以通过使用他们的最新版本版本,您将看到即时捆绑尺寸减少开箱即用.
"sideEffects":big-module的package.json中的false标志表示包的模块没有副作用(评估时)并且只暴露导出.这允许像webpack这样的工具优化再出口.
虽然第二个链接显示了使用该标志的结果,但它没有清楚地解释什么构成副作用.ES6包含了此处概述的模块副作用的概念,但这与Webpack考虑的副作用有何关系.
在sideEffects
标志的上下文中,模块需要避免在sideEffects:false
没有问题的情况下使用什么,或者对话,模块需要做什么才能sideEffects:false
无问题地使用.
为了完整起见,尽管@ SeanLarkin在下面给出了可靠的答案,但我想对以下内容进行澄清:
显然,副作用意味着fp特有的东西,包括日志记录(控制台或其他地方)和抛出错误.我假设在这种情况下这些是完全可以接受的吗?
模块是否可以包含循环引用并仍然使用sideEffects: false
?
有没有办法验证或模块是否能够验证模块是否可以sideEffects: false
超越试图追踪由其误用造成的错误?
是否还有其他因素会妨碍模块的使用sideEffects: false
?
我设置的代理有问题。
这是我的根 package.json 文件:
"scripts": {
"client": "cd client && yarn dev-server",
"server": "nodemon server.js",
"dev": "concurrently --kill-others-on-fail \"yarn server\" \"yarn client\""
}
Run Code Online (Sandbox Code Playgroud)
我的客户端 package.json 文件:
"scripts": {
"serve": "live-server public/",
"build": "webpack",
"dev-server": "webpack-dev-server"
},
"proxy": "http://localhost:5000/"
Run Code Online (Sandbox Code Playgroud)
我已经在我的服务器端设置了 express 在端口 5000 上运行。每当我向服务器发出请求时,即:
callApi = async () => {
const response = await fetch('/api/hello');
const body = await response.json();
// ... more stuff
}
Run Code Online (Sandbox Code Playgroud)
请求总是转到
有人可以指出我必须做些什么来解决这个问题,以便请求实际上转到端口 5000?
我不想使用grunt或gulp来编译ts文件.我只想在我的package.json中这样做:
"scripts": {
"build": "tsc main.ts dist/"
},
Run Code Online (Sandbox Code Playgroud)
可能吗?
package.json ×10
npm ×4
webpack ×4
node.js ×3
reactjs ×2
build-tools ×1
bundler ×1
javascript ×1
lint ×1
proxy ×1
side-effects ×1
typescript ×1
vite ×1