node: {
fs: "empty"
},
module: {
loaders: [{
test: /\.json$/,
include: path.join(__dirname, 'node_modules', 'pixi.js'),
loader: 'json'
}, {
test: /\.js$/,
exclude: path.join(__dirname, 'node_modules'),
loader: 'babel'
}, {
test: /\.png$|\.jpe?g$|\.gif$|img\/.*\.svg$/,
loader: 'file?name=' + opts.img
}],
noParse: /\.min\.js/
},
这是显示Uncaught TypeError: fs.readFileSync is not a function
如果我删除
node: {
fs: "empty"
}
它去Uncaught Error: Cannot find module "fs"
在我的主脚本中main.js
import PIXI from 'pixi.js'; // use ES6 width Babel from npm pixi.js
我在使用new PIXI.filters.BlurFilter()
时发现它
但如果我使用https://cdnjs.cloudflare.com/ajax/libs/pixi.js/3.0.7/pixi.min.js"
cdn 链接
没关系。
Wepack 是否需要设置任何选项?
重复#1854?
很相似,但现在的问题是为什么设置require('pixi.js')
node: {
fs: "empty"
}
一切正常,但不喜欢 #1854 ,它在某些函数中显示Uncaught TypeError: fs.readFileSync is not a function
,如BlurFilter
此外 ,
loaders: [{
test: /\.json$/,
include: path.join(__dirname, 'node_modules', 'pixi.js'),
loader: 'json'
}
如果我删除include: path.join(__dirname, 'node_modules', 'pixi.js'),
pixi 还在工作。
但同样的问题Uncaught TypeError: fs.readFileSync is not a function
我对 webpack 一无所知。 您需要有一个转换,将 readFileSyncs 解析为文件的实际字符串,就像 browserify 转换所做的那样。
这是我的工作 webpack.config:
var webpack = require("webpack");
var path = require("path");
var config = {
target: "web",
debug: true,
devtool: "source-map",
entry: {
main: "./source/scripts/main"
},
output: {
path: "./build",
filename: "[name].bundle.js",
chunkFilename: "[id].bundle.js"
},
node: { // this is for pixi.js
fs: "empty"
},
resolve: {
modulesDirectories: ['web_modules', 'bower_components', 'node_modules']
},
module: {
loaders: [
{ test: /\.css/, loader: "style-loader!css-loader" },
{ test: /\.less$/, loader: "style-loader!css-loader!less-loader" },
{ test: /\.jsx?$/, exclude: /(node_modules|bower_components)/, loader: 'babel?optional[]=runtime&stage=0'},
{ test: /\.png/, loader: "url-loader?limit=100000&mimetype=image/png" },
{ test: /\.gif/, loader: "url-loader?limit=100000&mimetype=image/gif" },
{ test: /\.jpg/, loader: "file-loader" },
{ test: /\.json/, loader: "json-loader" },
{ test: /\.(png|woff|woff2|eot|ttf|svg)$/, loader: 'url-loader?limit=100000' }
]
},
plugins: [
//new webpack.optimize.UglifyJsPlugin(),
//new webpack.optimize.DedupePlugin(),
new webpack.DefinePlugin({
__DEV__: true
})
]
};
module.exports = config;
关闭解决。
这是我发现的使用 PIXI 配置 webpack 的最直接、最简单的示例。
我建议更新package.json
的main
字段以引用bin
的构建文件。 这是大多数人将在客户端上使用的库。 它不会与任何和所有流行的开箱即用的构建工具互操作,这似乎有点奇怪。
许多(大多数?)其他流行的客户端库引用 package.json 中的构建文件以防止出现此类问题。
它开箱即用地与 browserify 一起使用,以及具有适当配置的 webpack。 Webpack 本身建议您_不要_指向构建的文件,而是指向源并配置正确的转换。
可能在未来我们会尝试使用更多的“webpack-friendly”转换,或者在我们的包 json 中包含必要的配置,这样你就不必编写它(就像我们为 browserify 所做的那样)。 但是说它不适用于开箱即用的流行构建器是完全不正确的,webpack 是唯一需要一些配置才能工作的工具。
@supermrji它不能用 webpack 开箱即用。
不明白,这个问题最后是怎么解决的? 尝试在反应应用程序中使用肥皂时遇到同样的问题。
@aasten我对soap 和VUE-CLI 也有同样的问题……你解决了吗?
@Crawler158不,抱歉。
没有?
由于关闭后没有任何近期活动,因此该线程已自动锁定。 请为相关错误打开一个新问题。
最有用的评论
不明白,这个问题最后是怎么解决的? 尝试在反应应用程序中使用肥皂时遇到同样的问题。