【发布时间】:2019-01-13 20:47:34
【问题描述】:
让我们再次明确:在这个问题中我不需要process.cwd,我需要
访问源项目的绝对路径。例如:
- 源码:
C:\Users\user1\projects\lib1\src\library.ts(以后会成为Node Module) - 使用库的项目:
C:\Users\user1\projects\someProject\src\someProject.ts
所以,我需要在library.ts 中获取C:\Users\user1\projects\lib1\src。
我试过了:
webpack.config.js
module.exports = {
// ...
target: 'node',
externals: [nodeExternals()],
plugins: [
new Webpack.DefinePlugin({
__PROJECT_ROUTE_ABSOLUTE_PATH__: __dirname
})
]
};
project-types.d.ts
declare var __PROJECT_ROUTE_ABSOLUTE_PATH__: string;
如果在library.ts 中尝试console.log(__PROJECT_ROUTE_ABSOLUTE_PATH__),在无效的JavaScript 下方
将产生:
console.log(C:\Users\user1\projects\lib1);
路径正确,但缺少引号。我不知道该怎么解释。 但无论如何,我们如何才能找到正确的路径?
还有一个奇怪的现象:如果调用__dirname,只会返回/,所以path.resolve(__dirname, 'fileName') givesC:\fileName`
【问题讨论】:
-
这是一个 node.js 应用吗?
-
@Prasheel,是的。
标签: node.js typescript webpack