javascript - 在 react-starter-kit 中需要 ('template.jade' )

标签 javascript node.js ecmascript-6 pug

有人可以向我解释一下,这个构建时 require 是如何工作的吗?

https://github.com/kriasoft/react-starter-kit/blob/feature/redux/src/server.js#L89

他们需要一个jade模板,哪个包或配置允许这个,我自己好像找不到。

const template = require('./views/index.jade')

我觉得这样更优雅:

import jade from 'jade'
const template = jade.compile('./views/index.jade')

最佳答案

作为RGraham mentioned in his commentrequire 调用在 webpack 编译应用程序包期间被“拦截”。这是使用 "loaders" 完成的为特定类型的导入定义特定行为:

Loaders allow you to preprocess files as you require() or “load” them.

在这种特殊情况下,执行此修改的加载器可能是其中之一(或者我在搜索中没有找到的另一个):

编辑:查看 project's own webpack configuration我们可以看到它是上面的第二个链接:

{
  test: /\.jade$/,
  loader: 'jade-loader',
}

关于javascript - 在 react-starter-kit 中需要 ('template.jade' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37387568/

相关文章:

node.js - Koa:如何获取 cookie 的到期日期

javascript - 当函数需要访问外部范围变量时处理 Promise 流的更好方法

mysql - 插入错误 :connect ECONNREFUSED

reactjs - 我应该使用 forceUpdate() 还是寻找另一种方法来重新渲染 React 组件

javascript - 将 XLSX.js 与 base64 结合使用

javascript - 从 React 钩子(Hook)返回 JSX 元素是不好的做法吗?

javascript - 如何使用ES6类扩展Function?

javascript - 如何在一行中为移动设备和桌面设备分配一个 css 值

javascript - 如何为 ES6 类属性提供默认值?

javascript - 为什么 hasOwnProperty 对构造函数和实例的行为不同?