不使用Jade的Express生成器

25

我正在尝试使用express生成器生成一个express框架的基本结构。所以代码应该是这样的:

$ npm install express-generator -g

然而,它添加了一堆自动的jade文件。

我想知道是否有一种方法可以摆脱这些jade文件,并仅使用express生成器中的html。

谢谢!

7个回答

15

尝试在命令提示符中运行此命令:

express --help

它将为您提供快速生成器的帮助

  Usage: express [options] [dir]

  Options:

    -h, --help          output usage information
        --version       output the version number
    -e, --ejs           add ejs engine support
        --hbs           add handlebars engine support
        --pug           add pug engine support
    -H, --hogan         add hogan.js engine support
        --no-view       generate without view engine
    -v, --view <engine> add view <engine> support (ejs|hbs|hjs|jade|pug|twig|vash) (defaults to jade)
    -c, --css <engine>  add stylesheet <engine> support (less|stylus|compass|sass) (defaults to plain css)
        --git           add .gitignore
    -f, --force         force on non-empty directory

来源: https://expressjs.com/zh-cn/starter/generator.html

以上选项提供了“视图引擎”的列表。

现在,只需输入:

express -{您选择的视图引擎}


例如使用express -e

这将设置EJS引擎作为您的视图处理程序,并删除jade。EJS具有HTML的外观和感觉,同时还能通过其模板系统注入值。


12

如果您需要一个视图引擎,只需键入:

express --no-view

您可以在服务器渲染之后添加引擎,也可以不使用。


1
这是对我有效的方法:npx express-generator someFolderName --no-view - ThisClark

3
你可以查看 Express-Generator 文档。
通过使用 express -h 命令,你可以看到 Express Generator 支持的视图引擎有 (ejs|hbs|hjs|jade|pug|twig|vash),但默认的是 jade。 $ express -h
用法: express [options][dir]
选项:
-h, --help          output usage information
    --version       output the version number
-e, --ejs           add ejs engine support
    --hbs           add handlebars engine support
    --pug           add pug engine support
-H, --hogan         add hogan.js engine support
-v, --view <engine> add view <engine> support (ejs|hbs|hjs|jade|pug|twig|vash) (defaults to jade)
-c, --css <engine>  add stylesheet <engine> support (less|stylus|compass|sass) (defaults to plain css)
    --git           add .gitignore
-f, --force         force on non-empty directory

2
你可以直接删除jade文件并连接你自己的模板引擎。
例如,我喜欢使用Handlebars.js。因此,为了使用它,在app.jsserver.js或者生成器命名的主文件中,你需要替换以下行:
app.set('view engine', 'jade');

在安装和引入handlebars后,您需要添加如下内容:

app.engine('handlebars', exphbs({defaultLayout: 'main'}));
app.set('view engine', 'handlebars');

每个引擎都是可配置的,您可以根据需要进行配置。


1
这个生成器似乎可以处理EJS模板。EJS仅是带有插入变量能力的HTML。嗯……就像一个模板引擎。 但是EJS也是HTML的渲染引擎。
在生成器的app.js中,您可以看到这一行(第15行):
app.set('view engine', '{views}');

所以我的猜测是,如果在安装时选择EJS引擎,那么就很好。只要将您的html文件放在指定的文件夹中(第14行,app.js):

app.set('views', path.join(__dirname, 'views'));

1
你可以直接将html文件包含在jade文件中。
include ../../public/index.html

0

只需将您的Express视图引擎Jade更改为EJS或任何您喜欢的引擎即可。

app.set('view engine', 'jade');

将此行更改为 -

app.set('view engine', 'ejs');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接