- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 node
模块,它使用依赖于 fs
的模块,例如使用 fs.readFileSync
等。我无法手动删除这些模块因为我的根模块的依赖项位于包依赖项的第二级或第三级,其级别为 0。
鉴于此,我必须在浏览器中运行这些模块,因此我尝试了 browserify
和 webpack
。我的 webpack
配置如下
var path = require('path');
var webpack = require("webpack");
module.exports = {
entry: './pgapi',
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js'
},
module: {
noParse: /node_modules\/json-schema\/lib\/validate\.js/,
loaders: [
{ test: /\.json$/, loader: 'json-loader' }
, {
test: /\.js$/,
loader: "transform?brfs"
}
]
},
resolve: {
extensions: ['', '.webpack.js', '.web.js', '.js']
},
node: {
console: true,
fs: 'empty',
net: 'empty',
tls: 'empty'
},
plugins: [
//new webpack.optimize.UglifyJsPlugin(),
//new webpack.optimize.DedupePlugin(),
new webpack.DefinePlugin({
__DEV__: true
})
]
};
我使用 browserify
作为 brfs
转换的替代方案来尝试处理 fs.readFileSync
等。
构建bundle.js
后,我运行babel
,因为在Safari
中,没有完全符合ES5严格模式
并且它还处理使用此脚本也不支持的箭头运算符
以及let
和const
:
var fs = require('fs')
var args = process.argv.slice(2);
var code=fs.readFileSync(args[0])
var res=require("babel-core").transform(code, {
plugins: [
"transform-es2015-arrow-functions",
"transform-es2015-constants",
"transform-es2015-block-scoping"]
});
console.log(res.code)
所以我很喜欢$ webpack
或 $ browserify mymodule.js -o dist/bundle.js -t brfs
然后在 dist/bundle.js
$ Node babelify.js dist/bundle.js > out.js
。
然后发生的是 ReferenceError: Can't find variable: fs
(参见 here )这似乎是因为 brsf 转换确实适用于静态表达式 eval,因此它无法理解 fs.readFileSync(varname) 中的变量。我正在使用MacGap在 Xcode 中测试 El Capitan
上的 WebView
客户端代码。
如何在构建时摆脱这个问题?
最佳答案
我也遇到了类似的问题。
确定哪个模块正在调用 mime
并找到替代模块。对我来说,这是url-loader
,它依赖于mime
。
我将其替换为 file-loader
,它不依赖于 mime
,因此不是 fs
。确保卸载url-loader
,因为它仍然会抛出错误!
关于javascript - 如何浏览器化 Node `fs.readFileSync` 以使其在 Chrome/Safari/IE 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38546141/
我尝试使用方法获取文件 readFileSync : import fs from 'fs'; import path from 'path'; const templateFile = fs.rea
我对 Node.js 比较陌生,一直在四处寻找,但找不到解决方案。我确实检查了需要的 javascript 文件,它似乎没有“readFileSync”的方法。也许我没有合适的要求文件?我很难找到这个
我正在开发Electron应用程序。 我有src文件夹中的几个JSON文件,需要在应用初始化(设置,配置等)期间将它们复制到用户文件夹中。 在开发人员模式下以及当我对JSON文件进行import时,它
我有一个上传文件的代码这里是代码: var oriPath = JSON.stringify(req.files.profilePicture); va
我尝试了所有这些步骤来将 bpmn 属性面板集成到本地主机中,例如 Integration of Properties panel in localhost . 此后我得到了未捕获错误:fs.read
我正在尝试在 nodejs 的帮助下获取文件内容fs.readFileSync()像这样将函数转换为字符串: let fileData = fs.readFileSync('./path, 'utf8
在我的 Node 应用程序中,我有一个 init 函数: function init() { if (!fs.existsSync("../schedule.json")) f
我在名为 data 的目录下创建了多个函数并用名为 generatedRandomData 的函数返回的一些随机数据填充它们。为了创建多个文件,我编写了这些函数: const createFile =
基本上,我使用 Node 的 FS 模块来读取和写入 JSON 文件。编写它完全可以正常工作,但由于某种原因,读取它会返回一个空字符串。 这个文件叫做records.js const dir = 's
我写了一个简单的 JS 对象,它具有函数 csvFileToArray。函数应返回已解析的 CSV 数组。 问题是我没有传递给 readFileSync 的匿名函数的输出。 test1 已正确登录到控
我想创建从数据库中获取数据的函数,例如 executeQuery(sql)。但我不想从这个函数返回任何 promise ,也不想传递任何回调函数。我只想返回查询的结果。 例如: var rows =
我有一个脚本,可以将数据从 API 写入某些文件。我有一个对象,其中包含每个文件的文件描述符: var csvFds = { 'file1' : null, 'file2' : nul
我正在使用 Insert-css 将一个 css 文件导入到我的 npm 模块中但我得到一个错误。 var fs = require('fs'); var inserCss = require('in
这个问题已经有答案了: Anonymous function passed to readFileSync is not returning any data (2 个回答) 已关闭 6 年前。 我正
我正在尝试使用 html-pdf Node 模块从 html 生成 pdf。我目前正在使用 cloud9 IDE 运行它。 我的代码是: var fs = require("fs"); var pdf
我正在尝试获取 webpack 和 mapbox-gl在 Meteor 系统中协同工作。我到处都查看了上述错误,但没有一个有效。这是我的 webpack 设置 { "root": "src",
我正在尝试通过我正在制作的 Chrome 应用程序将十六进制文件刷新到 Arduino。我使用了基本的 NodeJS 代码(如下所示),并使用 browserify 对其进行了转换,以便它可以在浏览器
为什么这段代码不起作用?如果我评论 fs.readFileSync('file.html');代码有效并创建文件“file.html”但如果我取消注释, fs.writeFileSync 将不起作用,
考虑以下 Node.js Javascript 程序: var fs = require('fs'); var encoding1='?'; var encoding2='?'; var a = fs
以下是 NodeJS 代码示例(同步版本): var fs = require('fs'); var path = './parseLogFiles/reports'; var counter = 0
我是一名优秀的程序员,十分优秀!