Javascript react初学者工具包中需要(';template.jade';)
有人能给我解释一下,这个构建时间Javascript react初学者工具包中需要(';template.jade';),javascript,node.js,ecmascript-6,pug,Javascript,Node.js,Ecmascript 6,Pug,有人能给我解释一下,这个构建时间require是如何工作的吗 他们需要一个jade模板,哪个包或配置允许这样做,我自己似乎找不到 const template = require('./views/index.jade') 我认为这样更优雅: import jade from 'jade' const template = jade.compile('./views/index.jade') 在webpack编译应用程序包的过程中,require调用被“拦截”。这是通过定义特定类型导入的特
require
是如何工作的吗
他们需要一个jade
模板,哪个包或配置允许这样做,我自己似乎找不到
const template = require('./views/index.jade')
我认为这样更优雅:
import jade from 'jade'
const template = jade.compile('./views/index.jade')
在webpack编译应用程序包的过程中,require
调用被“拦截”。这是通过定义特定类型导入的特定行为来完成的:
加载程序允许您根据需要预处理文件()或“加载”它们
在这种特殊情况下,进行此修改的加载程序可能是其中一个(或我在搜索中未找到的另一个):
{
test: /\.jade$/,
loader: 'jade-loader',
}
读取指定文件的内容,使其看起来像以下内容(玉石字符串):
…并将其替换为与此类似的通用JS JavaScript代码(在编译时):
module.exports=函数(数据){
返回`Hello,${data.name}`;
};
可能重复的“require()
不是标准JavaScript的一部分。在问题和标签的上下文中,require()
内置在Node.js中以加载模块。”除了上面的链接之外,该项目正在使用,这意味着此转换在构建时发生,而不是像jade.compile那样在运行时编译
h1 Hello, #{author}!
module.exports = function(data) {
return `<h1>Hello, ${data.name}</h1>`;
};