如何在脚本中获得原始文件路径与webpack
How to get original file path in the script with webpack?
示例代码:
//in the file app.module.js
module.exports = framework.module("app", [
require('./api/api.module').name
])
//in the file app/api/api.module.js
module.exports = framework.module("app.api", [
])
这里有两个相互依赖的模块,名为'app'和'api'。模块名始终与模块文件的文件路径相同(module.js
部分除外,例如,对于app/api/api.module.js
的文件,模块名为'app.api')。
是否有可能让webpack在编译过程中提供包含文件的文件名,以便以下操作可以完成?
//in the file app.module.js
module.exports = framework.module(__filename, [
require('./api/api.module').name
])
//in the file app/api/api.module.js
module.exports = framework.module(__filename, [
])
其中__filename
为文件夹的实际路径。
模块名称的格式并不重要,但它应该是唯一的(出于框架的原因),并导致模块位置(出于调试的原因)。
更新:我已经为自己解决了这个问题——这可以通过自定义webpack加载器来完成,它用文件路径字符串代替某个占位符。但无论如何,问题仍然悬而未决。
我知道你说你自己解决了这个问题,但是,这是我的看法。
你的解决方案包括使用自定义加载器,然而,也许你可以用另一种方式解决它。
第一步,在webpack.config
中将这些添加到配置对象中:
context: __dirname, //set the context of your app to be the project directory
node: {
__dirname: true //Allow use of __dirname in modules, based on context
},
然后,把这个添加到你的插件列表中:
new webpack.DefinePlugin({
SEPARATOR: JSON.stringify(path.sep)
})
这将用任何正确的路径分隔符替换模块中的所有SEPARATOR
实例,对于您正在处理的系统(您必须在webpack.config
中使用require('path')
才能正常工作)
最后在你想要的模块中你可以通过
得到它的名字var moduleName = __dirname.replace(new RegExp(SEPARATOR, 'g'), '.');
例如
//in the file app.module.js
var moduleName = __dirname.replace(new RegExp(SEPARATOR, 'g'), '.');
module.exports = framework.module(moduleName, [
require('./api/api.module').name
])
//in the file app/api/api.module.js
var moduleName = __dirname.replace(new RegExp(SEPARATOR, 'g'), '.');
module.exports = framework.module(moduleName, [
])
相关文章:
- markrwithlabel.js(第三方)原始文件链接断开
- 如何使用JavaScript粘贴原始二进制文件而不出现“无效字符”错误
- 如何在文件打开和调用图像区域选择时获取原始图像大小
- 如何在angular js中从github获取原始自述文件后将其转换为html格式的文档
- 保存对“;contentEditable;部分返回到原始HTML文件
- 如何将 Base64 文件转换为 javascript 中的实际文件/原始文件并将其下载到客户端
- 咕噜咕噜的丑陋 - 替换原始文件
- 当我克隆文件输入时,克隆的输入不会保留上传的文件.原始输入确实如此
- 拖放以克隆原始文件
- 重定向后,如何显示来自原始文件的错误消息
- AJAX-PHP;XML-POST请求指向PHP文件,而不是停留在原始页面
- Chrome中的错误:“;原始文件://不允许访问控制允许原始文件;
- 编辑原始JQuery文件是否被认为是个坏主意
- 用javascript从文件原始数据创建文件
- PhantomJS中解析JSON平面文件的问题(请不要jquery,原始javascript)
- 我需要将一组文件从它们的原始位置复制到一个新文件夹
- 在不重命名原始文件的情况下吞下minify
- nodejs将原始图像数据写入jpeg文件
- 使源映射引用远程计算机上的原始文件
- DataTransferItem.getAsFile()返回的文件大小比原始文件大得多