最近接手一個別人的頁面,代碼非常凌亂與龐雜,當我在增長功能時,發現我添加的模塊與原有的模塊有衝突,但不知道那個原有的模塊在什麼位置,就獲得處找。css
但發現這種方式太笨拙了,網上也沒有找到相應的工具,索性我就本身寫了一個工具。node
項目地址:sdep。react
npm install sdep -g
sdep [options] <file>
-q, --query <query>
: 查找某個模塊的依賴鏈(如:-q react
)-r, --regular
: 把 query
看成正則來匹配(如:-q 'react|react-dom' -r
)-i, --ignore
: 不顯示 node_modules
裏的文件sdep example/index.js
example/index.js ├ example/css/css.css ├ example/css/scss.scss ├ example/css/less.less ├ example/jsx.jsx | ├ node_modules/react/index.js | | ├ node_modules/react/cjs/react.production.min.js | | | └ node_modules/object-assign/index.js | | └ node_modules/react/cjs/react.development.js | | ├ node_modules/object-assign/index.js | | └ node_modules/prop-types/checkPropTypes.js | | └ node_modules/prop-types/lib/ReactPropTypesSecret.js | ├ node_modules/react-dom/index.js | | ├ node_modules/react-dom/cjs/react-dom.production.min.js | | | ├ node_modules/react/index.js | | | | ├ node_modules/react/cjs/react.production.min.js | | | | | └ node_modules/object-assign/index.js | | | | └ node_modules/react/cjs/react.development.js | | | | ├ node_modules/object-assign/index.js | | | | └ node_modules/prop-types/checkPropTypes.js | | | | └ node_modules/prop-types/lib/ReactPropTypesSecret.js | | | ├ node_modules/object-assign/index.js | | | └ node_modules/scheduler/index.js | | | ├ node_modules/scheduler/cjs/scheduler.production.min.js | | | └ node_modules/scheduler/cjs/scheduler.development.js | | └ node_modules/react-dom/cjs/react-dom.development.js | | ├ node_modules/react/index.js | | | ├ node_modules/react/cjs/react.production.min.js | | | | └ node_modules/object-assign/index.js | | | └ node_modules/react/cjs/react.development.js | | | ├ node_modules/object-assign/index.js | | | └ node_modules/prop-types/checkPropTypes.js | | | └ node_modules/prop-types/lib/ReactPropTypesSecret.js | | ├ node_modules/object-assign/index.js | | ├ node_modules/prop-types/checkPropTypes.js | | | └ node_modules/prop-types/lib/ReactPropTypesSecret.js | | ├ node_modules/scheduler/index.js | | | ├ node_modules/scheduler/cjs/scheduler.production.min.js | | | └ node_modules/scheduler/cjs/scheduler.development.js | | └ node_modules/scheduler/tracing.js | | ├ node_modules/scheduler/cjs/scheduler-tracing.production.min.js | | └ node_modules/scheduler/cjs/scheduler-tracing.development.js | └ example/wel.jsx | └ node_modules/react/index.js | ├ node_modules/react/cjs/react.production.min.js | | └ node_modules/object-assign/index.js | └ node_modules/react/cjs/react.development.js | ├ node_modules/object-assign/index.js | └ node_modules/prop-types/checkPropTypes.js | └ node_modules/prop-types/lib/ReactPropTypesSecret.js └ example/async/index.js └ example/async/index.css
react
的依賴鏈sdep example/index.js -q react
example/index.js └ example/jsx.jsx └ node_modules/react/index.js example/index.js └ example/jsx.jsx └ node_modules/react-dom/index.js example/index.js └ example/jsx.jsx └ example/wel.jsx └ node_modules/react/index.js
less
或 scss
的依賴鏈sdep example/index.js -q 'less|scss' -r
example/index.js └ example/css/scss.scss example/index.js └ example/css/less.less
更多博客,查看 https://github.com/senntyou/blogsgit
做者:深予之 (@senntyou)github
版權聲明:自由轉載-非商用-非衍生-保持署名(創意共享3.0許可證)npm