vuejs / vue-cli

🛠️ webpack-based tooling for Vue.js Development
https://cli.vuejs.org/
MIT License
29.76k stars 6.33k forks source link

GeneratorApi 中使用api.render无法生成文件内容为空的文件 #4326

Open yan919 opened 5 years ago

yan919 commented 5 years ago

Version

3.7.0

Reproduction link

https://github.com/vuejs/vue-cli/issues/4325

Environment info

Environment Info:

  System:
    OS: macOS High Sierra 10.13.6
    CPU: (4) x64 Intel(R) Core(TM) i7-7567U CPU @ 3.50GHz
  Binaries:
    Node: 10.13.0 - /usr/local/bin/node
    Yarn: 1.13.0 - /usr/local/bin/yarn
    npm: 6.4.1 - /usr/local/bin/npm
  Browsers:
    Chrome: 75.0.3770.142
    Firefox: Not Found
    Safari: 12.1.1
  npmGlobalPackages:
    @vue/cli: 3.7.0

Steps to reproduce

What is expected?

期望能生成文件内容为空的文件

What is actually happening?

haoqunjiang commented 5 years ago

生成空文件有什么应用场景吗?

yan919 commented 5 years ago

我现在有一个空文件,里面的内容是通过执行其他脚本生成的,但是内容会根据用户的不同输入产生不同的内容。在用户什么都没操作的时候,里面的内容为空,我想把这个空文件放在初始化后的项目里。

haoqunjiang commented 5 years ago

暂时先用 onCreateComplete 绕开吧。

下个版本再修复空文件的问题。

yhZhouYh commented 5 years ago

暂时先用 onCreateComplete 绕开吧。

下个版本再修复空文件的问题。

请问,如何跳过文件夹或者文件,不render,直接复制?

yhZhouYh commented 5 years ago

暂时先用 onCreateComplete 绕开吧。 下个版本再修复空文件的问题。

请问,如何跳过文件夹或者文件,不render,直接复制?

模板文件里的html含有html-template-plugin的delimiter

haoqunjiang commented 5 years ago

@yhZhouYh 目前没有提供这种方案。请使用 <%%%%> 绕开(语法参见 https://github.com/mde/ejs/blob/master/docs/syntax.md#literal-tags

参考:https://github.com/vuejs/vue-cli/blob/dev/packages/%40vue/cli-service/generator/template/public/index.html#L7