Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
基于webpack开发的打包工具,为了避免webpack的复杂配置针对公司多页面架构,
以及 React + webpack + Nodejs的开发栈,如果是简单项目只需在进行init操作,配置基础的
dll 包含的依赖包就可以完成配置
在工具是针对多页面的React架构进行开发的,如果项目非该结构,建议直接使用webpack配置, 使用这个工具反而增加了复杂度,虽然也可以满足需求
项目结构(实例):
----project
----dist
----doc
----client 前端代码
----config 项目使用配置
----doc 项目说明文档
----scripts 项目可能用到的脚本
----src 项目源代码
----common 包含项目通用的代码
----page 项目的模板
----layout1 模板
----assets 模板用到资源
----layout.tpl 模板
----layout.js 模板执行的脚本
----layout.scss 模板使用样式文件
----layout2
----static 通用的资源,样式库、字体、第三方类库
----ui 项目中通用的 React 组件
----widget 项目使用的通用 widget
----wgt1
----wgt.tpl 模板
----wgt2
----module1 项目模块
----page 模块中的页面
----page1 页面
----assets 页面使用的资源
----page.tpl 页面模板
----page.js 页面使用脚本
----page.scss 页面用到的样式文件
----page2
----ui
----widget
----module2
----vendor
----package.json
----yarn.lock
----src
----package.json
----yarn.lock
约束:
文件说明:
项目的配置文件默认为: .leek.config.js
项目生成一文件会放在: .leekConfig/
自定义webpack 配置 需要修改 .leekConfig/webpack/
webpack配置文件命名:webpack.config.[模块名].[页面名].js
使用
npm install -g leek-cli
yarn global add leek-cli
leek 默认命令
leek init 初始化项目
leek server 服务端命令
leek server build 构建服务端代码
leek server start 启动服务
leek bundle 构建前端代码
leek bundle all 构建前端所有模块
leek debug 调试前端模块 暂未实现
命令实例:
::: :::::::::: :::::::::: ::: :::
:+: :+: :+: :+: :+:
+:+ +:+ +:+ +:+ +:+
+#+ +#++:++# +#++:++# +#++:++
+#+ +#+ +#+ +#+ +#+
#+# #+# #+# #+# #+#
########## ########## ########## ### ###
===============================================================
当前版本: 0.0.8
Leek cli 为leek项目提供快捷易用的命令
命令:
bundle 打包客户端资源
debug 调试应用
init 初始化leek项目
server 后端node服务
选项:
-v, --version 显示当前版本
-h, --help 帮助说明
参考 leek-config-boilerplate 项目
整个工具命令行是一个树状结构
root 命令
---- 命令1
---- 命令1-1
---- 命令1-2
---- 命令2
---- 命令3
每一个命令都对应一个动作,每个动作可以接受指定的参数 参数通过 -[opt] 或则 --[opt] 传入
通常情况下这样没问题,但是有些特殊的参数对应的是一些命令比如 leek -v 或者 leek -h 并不是root跟命令,而是输入 leek的版本号 或者 打印 leek 版本信息
另外 对于正常命令会通过命令树 找对对应的指令并且配置响应的参数,会尽量找最深的命令配置,如果没有找到则说明输入有误。
配置例子:
const path = require('path');
// const
module.exports = {
"projectType": "react",
"prefix": "",
"publicPath": "/static/",
"dist": "../../dist",
"clientAlias": "client",
"isInlineCss": "false",
"leekConfig": "./.leekConfig/",
"leekWebpackConfigDir": "{{leekConfig}}/webpack/",
"leekManifsetDir": "{{leekConfig}}/manifest/",
"configIn": "client",
"client": {
"assetsDir": "./assets/",
"vendorDir": "vendor/",
"sourceDir": "./src",
"cssModulesTypings": false, // 配置是否生成 css module declear文件 ***** New *****
"dll": {
"vendors": [
"core-js",
"react",
"react-dom",
"lodash",
"axios",
"antd",
"history",
"react-router-dom",
"mobx",
"mobx-react",
],
"css": [
path.resolve(__dirname, './src/common/static/css/base.scss'),
],
sassIncludePaths: [
path.resolve(__dirname, './src/'),
],
resolve: {},
module: {},
plugins: [],
},
"common": {
template: ' ',
resolve: {
},
sassIncludePaths: [
path.resolve(__dirname, './src/'),
],
module: {},
plugins: [],
},
'base': {
template: '',
watchOptions: {},
resolve: {},
sassIncludePaths: [
path.resolve(__dirname, './src/'),
],
module: {},
plugins: [],
},
},
"server": {
"relPath": "../../",
"contentPath": [
"src/#",
"package.json"
],
}
}
v0.1.4
Unexpected end of JSON input while parsing near
的一个error 参考 https://github.com/npm/npm/issues/19072#issuecomment-395788165improt 'e/b.css';
可能在production模式下面引入失败,需要查看一下模块是否是es模块如果是的话,
可能会有sideEffects 配置
https://segmentfault.com/a/1190000015689240
解决方法:
1. 添加sass文件 使用 sass文件引用
2. 使用require();
2. 关于Autoprefixer css前缀问题,需要在package.json 添加指定的browserslist
例如:
"browserslist": [
"last 1 version",
"> 1%",
"maintained node versions",
"not dead"
]
解决方法: 1. 使用require, 例如: const s = require('*.scss'); 2. 添加typescript 声明文件 *.scss.d.ts 3. 默认忽略 添加
declare module '*.css' {
interface IClassNames {
[className: string]: string
}
const classNames: IClassNames;
export = classNames;
}
declare module '*.scss' {
interface IClassNames {
[className: string]: string
}
const classNames: IClassNames;
export = classNames;
}
相关链接: https://github.com/Jimdo/typings-for-css-modules-loader/issues/33
FAQs
leek 命令行
The npm package leek-cli receives a total of 22 weekly downloads. As such, leek-cli popularity was classified as not popular.
We found that leek-cli demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.