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は好きではありません。 BlurFilter
などの関数でUncaught TypeError: fs.readFileSync is not a function
れます。
加えて 、
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については何も知りません。 browserifyトランスフォームと同様に、readFileSyncsをファイルの実際の文字列に解決するトランスフォームが必要です。
これが私の作業中の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に適した」変換を使用するか、パッケージjsonに必要な構成を含めて、(browserifyの場合のように)記述する必要がないようにする予定です。 しかし、箱から出してすぐに人気のあるビルダーでは機能しないと言うのはまったく真実ではありません。機能させるために少しの設定が必要なのはwebpackだけです。
@supermrjiwebpackではそのままでは機能しません。
この問題が最終的にどのように解決されたか理解できませんか? 反応アプリケーション内から石鹸を使おうとすると同じ問題が発生しました。
@aasten石鹸とVUE-CLIで同じ問題が発生しました...解決しましたか?
@ Crawler158いいえ、ごめんなさい。
なし?
このスレッドは、閉じられた後、最近のアクティビティがないため、自動的にロックされています。 関連するバグについては、新しい問題を開いてください。
最も参考になるコメント
この問題が最終的にどのように解決されたか理解できませんか? 反応アプリケーション内から石鹸を使おうとすると同じ問題が発生しました。