【发布时间】:2019-05-27 10:45:11
【问题描述】:
我尝试在require 语句中使用Path.join,如下所示:
import Path from 'path'
const assetPath = Path.join(process.cwd(), `./lib/asset-manifest.json`)
console.log(assetPath)
'/home/dev/Website/lib/asset-manifest.json'
console.log(
assetPath === '/home/dev/Website/lib/asset-manifest.json'
)
true
const assets = require(assetPath)
但这会引发以下错误:
Error: Cannot find module '/home/dev/Website/lib/asset-manifest.json'
虽然文件在那里并且require 工作,但如果我手动将字符串放入其中:
const assets = require('/home/dev/Website/lib/asset-manifest.json')
所以我想知道为什么Path.join 不能在require 中工作?
最好的问候
【问题讨论】:
-
一个 string 是一个 string 并且 两个 相同的字符串仍然是相同的。您是否试图断言它们是相同的?
console.log(assetPath === '/home/dev/Website/lib/asset-manifest.json');因为变量或文字的使用对require()没有影响。 -
@cgTag 是的,他们是平等的。
-
你这个路径上真的有文件吗,试试系统终端类型:cat /home/dev/Website/lib/asset-manifest.json 你能看到任何文字吗?
-
@VadimHulevich 是的
cat有效。我使用 webpack。可能是 webpack 的问题? -
你为什么在 nodejs 中使用 webpack?你在建图书馆吗?
标签: javascript node.js webpack dynamic