diff --git a/generator.js b/generator.js index a98ff86..9fbc017 100644 --- a/generator.js +++ b/generator.js @@ -3,7 +3,7 @@ const path = require('path') const isBinary = require('isbinaryfile') -async function generate (dir, files, base = '') { +async function generate (dir, files, base = '', rootOptions) { const glob = require('glob') glob.sync('**/*', { @@ -16,7 +16,10 @@ async function generate (dir, files, base = '') { if (isBinary.sync(sourcePath)) { files[filename] = fs.readFileSync(sourcePath) // return buffer } else { - const content = fs.readFileSync(sourcePath, 'utf-8') + let content = fs.readFileSync(sourcePath, 'utf-8') + if (path.basename(filename) === 'manifest.json') { + content = content.replace('{{name}}', rootOptions.projectName) + } if (filename.charAt(0) === '_' && filename.charAt(1) !== '_') { files[`.${filename.slice(1)}`] = content } else if (filename.charAt(0) === '_' && filename.charAt(1) === '_') { @@ -44,16 +47,16 @@ module.exports = (api, options, rootOptions) => { } } }) - } else if (options.template === 'dcloudio/uni-template-news') { - api.extendPackage(pkg => { - return { - devDependencies: { - 'node-sass': '^4.11.0', - 'sass-loader': '^7.1.0' - } - } - }) - } + } else if (options.template === 'dcloudio/uni-template-news') { + api.extendPackage(pkg => { + return { + devDependencies: { + 'node-sass': '^4.11.0', + 'sass-loader': '^7.1.0' + } + } + }) + } api.render(async function (files) { Object.keys(files).forEach(name => { @@ -65,10 +68,10 @@ module.exports = (api, options, rootOptions) => { const base = 'src' if (template === 'default') { - await generate(path.resolve(__dirname, './template/default'), files, base) + await generate(path.resolve(__dirname, './template/default'), files, base, rootOptions) } else if (template === 'default-ts') { await generate(path.resolve(__dirname, './template/common-ts'), files) - await generate(path.resolve(__dirname, './template/default-ts'), files, base) + await generate(path.resolve(__dirname, './template/default-ts'), files, base, rootOptions) } else { const ora = require('ora') const home = require('user-home') diff --git a/template/common/postcss.config.js b/template/common/postcss.config.js index 7f0d45f..223560d 100644 --- a/template/common/postcss.config.js +++ b/template/common/postcss.config.js @@ -1,6 +1,7 @@ const pkg = require('./package.json') module.exports = { - plugins: [ + plugins: [ + require('postcss-import'), require('autoprefixer')({ browsers: pkg.browserslist }), diff --git a/template/default-ts/manifest.json b/template/default-ts/manifest.json index ed91a0e..91a7343 100755 --- a/template/default-ts/manifest.json +++ b/template/default-ts/manifest.json @@ -1,5 +1,5 @@ { - "name": "", + "name": "{{name}}", "appid": "", "description": "", "versionName": "1.0.0", diff --git a/template/default/manifest.json b/template/default/manifest.json index ed91a0e..91a7343 100755 --- a/template/default/manifest.json +++ b/template/default/manifest.json @@ -1,5 +1,5 @@ { - "name": "", + "name": "{{name}}", "appid": "", "description": "", "versionName": "1.0.0",