git
git 不能add 空文件夾,加了也沒用,遠程倉庫沒有這個文件夾的
extract-text-webpack-plugin loader is used without the corresponding plugin
是因為plugin和loader里面都要加上extract-text-webpack-plugin,缺一不可
使用cross-env解決跨平台設置NODE_ENV的問題
在package.json的scripts標簽下配置一系列命令,如下所示:
"scripts": {
"clear": "rm -rf build&& mkdir build",
"start": "npm run clear&& NODE_ENV=development webpack-dev-server --host 0.0.0.0 --devtool eval --progress --color --profile",
"deploy": "npm run pre&& npm run clear&& NODE_ENV=production webpack -p --progress"
},
上面配置中的的&&最開始使用的是;,后來發現;在windows環境中無法正常運行,於是改成了*unix和windows都兼容的&&。但是公司的部分使用windows的同事在運行npm start的時候,依然會報錯:
'NODE_ENV' 不是內部或外部命令,也不是可運行的程序
或批處理文件。
簡單來說,就是windows不支持NODE_ENV=development的設置方式。
解決方式
功夫不負有心人,在萬能的google上,我找到了解決方法:cross-env。
這個迷你的包能夠提供一個設置環境變量的scripts,讓你能夠以unix方式設置環境變量,然后在windows上也能兼容運行。
使用方法:
安裝cross-env:npm install cross-env --save-dev
在NODE_ENV=xxxxxxx前面添加cross-env就可以了。
**git有沖突的話,保留本地版本,更新
git stash
git pull
git fetch --all git reset --hard origin/master
git fetch 只是下載遠程的庫的內容,不做任何的合並 git reset 把HEAD指向剛剛下載的最新的版本
vscode
安裝插件: Ctrl + P
然后輸入 ext install vetur
然后回車點安裝即可。
格式化代碼;shift+alt+F,或者ctrl+shift+P,輸入format
擴展里面下載 Beautify 插件和vetur插件
**vs code 代碼提示
通過NPM安裝Typings npm install -g typings
安裝完成后,在命令行中輸入:typings --version
看到版本信息就表示 typings 工具安裝完成了
安裝相關提示信息文件
安裝完成后,我們需要安裝相應的需要提示功能庫或者框架的類型信息文件,在這里我們新建一個文件夾 NodeSnippet,使用命令行進入到該目錄中,
分別輸入下面兩個命令來安裝Node和Lodash的類型接口信息文件:
typings install dt~node --global --save
typings install lodash --save
啟用智能提示功能
在項目所在目錄(在這里是NodeSnippet文件夾中)增加一個名為jsconfig.json的空文件,內容為
"typeAcquisition": {
"include": [
"lodash"
]
}
有時候vscode啟動node服務會報如下錯誤
Cannot connect to runtime process, timeout after 10000 ms - (reason: Cannot connect to the target: connect ECONNREFUSED 127.0.0.1:45176).
解決方法:
打開launch.json,輸入timeout
{ // 使用 IntelliSense 以學習相關的 Node.js 調試屬性。 // 懸停以查看現有屬性的描述。 // 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "timeout": 60000, "name": "啟動程序", "program": "${workspaceRoot}\\koa-app.js" } ] }
vscode 左側搜索隱藏之后可去配置文件找到searchPanel,去掉即可恢復
jquery
雖然live在1.7之后就不能用了,但是還是有的地方會用,比如我們部門用的框架,里面給input綁定了live之后,我再給input或者它的父元素綁定了on之后就會延遲觸發
解決方法:
用on代替live
ie下頁面伸縮的時候不能監聽window的resize
解決方法:
加上$('body').bind('paste', function(e) {});而且html不能為100%
環境變量
JAVA_HOME
D:\Program Files\Java\jdk1.8.0_60
MAVEN_HOME
D:\JavaDevProgram\Maven3.0.5;
NODE_PATH
D:\Program Files\nodejs\node_global\node_modules
path
D:\Maven3.0.5\bin;D:\Program Files\Java\jdk1.8.0_60\bin;D:\Program Files\nodejs\;%MAVEN_HOME%\bin;%JAVA_HOME%\bin;C:\Program Files\TortoiseSVN\bin;D:\Program Files\TortoiseGit\bin;%NODE_PATH%\node_modules;%NODE_PATH%\node_global
安裝maven
把下載的maven包解壓到某一目錄,然后配置環境變量,參照上面,重啟電腦,輸入mvn -v可以看到如下信息,說明安裝成功,安裝maven之前要安裝jdk
安裝完成之后發現用戶路徑下沒有生成.m2文件,網上的教程是
mvn help:system
但是執行了並沒有生成.m2文件夾。
查找很多之后發現,必須把默認的maven里面的本地存儲(maven安裝路徑/conf下面的settings.xml,如果不可編輯,取消只讀屬性即可)設置為默認的,就是不要設置
<localRepository>D:\maven\repository</localRepository>
這一行注釋或取消掉,再執行mvn help:system命令就OK了。
新建文件生成注釋
安裝fileheader,然后在文件-首選項-用戶設置里設置Author和LastModifiedBy即可,如下:
{ "workbench.startupEditor": "newUntitledFile", "workbench.iconTheme": "vscode-icons", "git.autorefresh":true, "git.autofetch": false, "team.showWelcomeMessage": false, "fileheader.Author": "liuxiujuan5", "fileheader.LastModifiedBy": "liuxiujuan5" }
在文件中ctrl+alt+i可自動生成,之后修改文件都會自動更改時間
sublime text
沒有package control
使用Ctrl+`快捷鍵或者通過View->Show Console菜單打開命令行,粘貼如下代碼:
import
urllib.request,os; pf
=
'Package Control.sublime-package'
; ipp
=
sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) );
open
(os.path.join(ipp, pf),
'wb'
).write(urllib.request.urlopen(
'http://sublime.wbond.net/'
+
pf.replace(
' '
,
'%20'
)).read())
|
html 自動生成 package control-install-emmet
新建一個html文件,html:5或者<html+TAB
-
新建文件,使用 Ctrl+Shift+P 打開命令工具
-
輸入 html ,選擇 Set Syntax HTML,回車
-
在新文件中輸入
<html
,然后按 Tab 鍵,即可補全
ie console 打開調試模式才會執行console,IE8 與IE9 的console對象只有在打開了bug窗口之后才會被創建。之后的版本才解決了這個問題。
http://10.33.42.119:8086/vms/services/InterAreaService?wsdl
http://10.6.130.135:8080/vas/services/remoteClientService?wsdl
npm 代理 開源工具 sinopia
webpack報錯:Cannot assign to read only property 'exports' of object '#<Object>'
import 和export不能混用
如果是直接返回可以用ctx.response.body但是不能用ctx.res.body。如果用pipe就不能用ctx.response,因為它沒有pipe這個方法
webpack配置不同的文件不同的publicPath
webpack打包一般會加上hash值,因為如果文件名不變的話,瀏覽器可能讀的是緩存中的文件,那么如何加上hash值呢,如下
filename:
'[name].[chunkHash:5].js'
上方我們在輸出文件名中增加了[chunkHash:5]變量,表示打包后的文件中加入保留5位的hash值,默認20位。
這樣每次修改文件后hash值也會跟着變,就不怕瀏覽器緩存了,但是當我們嘗試去修改一個js文件后再次打包,問題又來了:vendor.js的hash值也變了,我們並沒有修改jQuery的源碼。
上述問題產生的原因是因為CommonsChunkPlugin插件是用於提取公共代碼的,上方我們只是提取了vendor作為公共代碼。為了繼續解決上述問題,其實方法很簡單,我們需要修改CommonsChunkPlugin的配置,如下:
module.exports = {
...
plugins:[
new
webpack.optimize.CommonsChunkPlugin({
names: [
'vendor'
,
'manifest'
]
}),
]
...
}
- IDEA開啟項目自動編譯,進入設置,Build,Execut, Deployment -> Compiler 勾選中左側的Build Project automatically
- tomcat update classes and resources
Cannot assign to read only property 'exports' of object '#<Object>'
去掉babel的transform-runtime
new webpack.DefinePlugin({ 'process.env': config.dev.env, 'process.VERSION': '"0.0.1"' })
Babel 6 regeneratorRuntime is not defined
用async的時候會報這個錯 用transform-runtime是可以的,但是會報 Cannot assign to read only property 'exports' of object '#<Object>'錯誤,可以用下面的方法解決
run eslint --init
in a terminal. If you have installed eslint locally then run .\node_modules\.bin\eslint --init
import
urllib.request,os; pf
=
'Package Control.sublime-package'
; ipp
=
sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) );
open
(os.path.join(ipp, pf),
'wb'
).write(urllib.request.urlopen(
'http://sublime.wbond.net/'
+
pf.replace(
' '
,
'%20'
)).read())
http://getcrx.cn 谷歌拓展插件國內離線下載地址:)
下載win32-x64-46_binding.node
下載完了之后把它注冊成全局環境變量,兩種方式:
第一種:直接右鍵我的電腦--》屬性--》高級系統設置--》環境變量--》
添加第二種:set XXX=文件路經--》set SASS_BINARY_PATH=F:\tools\node-sass\win32-x64-46_binding.node
查看環境是否合適:echo %SASS_BINARY_PATH%
如果打印出來您配置好的文件地址那就ok了,
最后再來試試安裝:npm i -g node-sass
如果錯誤是有關 Python , 那就裝Python 就能解決。
node-sass 要安裝python2.7.14 安裝時添加path到環境變量