提交 0f7df9a6 编写于 作者: richard_1015's avatar richard_1015

feat: themes

上级 311cdc19
......@@ -3,7 +3,7 @@
一套京东风格的轻量级移动端 Vue3组件库
![NutUI](https://img11.360buyimg.com/uba/jfs/t1/11117/21/3608/18942/5c20ab52E35e5a500/02e3c1f89cd3dad1.png)
![NutUI](https://img14.360buyimg.com/imagetools/jfs/t1/167902/2/8762/791358/603742d7E9b4275e3/e09d8f9a8bf4c0ef.png)
## ⌨️ 本地开发
......
const package = require('../package.json');
const config = require('../src/config.json');
const path = require('path');
const fs = require('fs');
const fs = require('fs-extra');
let importStr = `import { App } from 'vue';\n`;
const packages = [];
config.nav.map(item => {
......@@ -29,7 +29,7 @@ let fileStr = `${importStr}
${installFunction}
export { ${packages.join(',')} };
export default { install, version:'${package.version}'};`;
fs.writeFile(
fs.outputFile(
path.resolve(__dirname, '../src/nutui.ts'),
fileStr,
'utf8',
......
const config = require('../src/config.json');
const path = require('path');
const fs = require('fs-extra');
let fileStr = `@import './styles/variables.scss';\n`;
config.nav.map(item => {
item.packages.forEach(element => {
let folderName = element.name.toLowerCase();
fileStr += `@import './packages/${folderName}/index.scss';\n`;
fs.copy(
path.resolve(__dirname, `../src/packages/${folderName}/index.scss`),
path.resolve(__dirname, `../dist/packages/${folderName}/index.scss`)
);
});
});
const filterFunc = (src, dest) => {
// your logic here
// it will be copied if return true
return !src.includes('font');
};
fs.copy(
path.resolve(__dirname, '../src/styles'),
path.resolve(__dirname, '../dist/styles'),
{ filter: filterFunc },
err => {
if (err) return console.error(err);
// console.log('success!')
}
);
fs.outputFile(
path.resolve(__dirname, '../dist/themes.scss'),
fileStr,
'utf8',
error => {
// logger.success(`文件写入成功`);
}
);
const config = require('../src/config.json');
const path = require('path');
const fs = require('fs');
const fs = require('fs-extra');
let importStr = `import { App } from 'vue';
declare class UIComponent {
static install(vue: App): void;
......@@ -28,7 +28,7 @@ declare const _default: {
};
export default _default;`;
let fileStr = importStr + installFunction;
fs.writeFile(
fs.outputFile(
path.resolve(__dirname, '../dist/nutui.d.ts'),
fileStr,
'utf8',
......@@ -36,7 +36,7 @@ fs.writeFile(
// logger.success(`${package_config_path} 文件写入成功`);
}
);
fs.writeFile(
fs.outputFile(
path.resolve(__dirname, '../dist/index.d.ts'),
`import * as NutUI from './nutui';
export default NutUI;
......
......@@ -41,14 +41,15 @@
"build:site": "npm run checked && vite build",
"build:gh-pages": "npm run checked && vite build --base=/nutui/",
"build:site:oss": "npm run checked && vite build --base=/nutui/3x/",
"build": "npm run checked && vite build --config vite.config.build.ts && npm run generate:types",
"build": "npm run checked && vite build --config vite.config.build.ts && npm run generate:types && npm run generate:themes",
"build:disperse": "vite build --config vite.config.build.disperse.ts",
"serve": "vite preview",
"upload": "yarn build:site:oss && node ./jd/upload.js",
"add": "node jd/createComponentMode.js",
"publish:beta": "npm publish --tag=beta",
"generate:file": "node jd/generate-nutui.js",
"generate:types": "node jd/generate-types.js"
"generate:types": "node jd/generate-types.js",
"generate:themes": "node jd/generate-themes.js"
},
"dependencies": {
"axios": "^0.21.0",
......@@ -69,6 +70,7 @@
"eslint-plugin-prettier": "^3.1.3",
"eslint-plugin-vue": "^7.0.0-0",
"front-matter": "^4.0.2",
"fs-extra": "^9.1.0",
"highlight.js": "^10.3.1",
"husky": "^4.3.0",
"lint-staged": "^10.5.0",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册