我已使用npm install @orange-games/phaser-ads
安装了Phaser Ads。
node_modules/@orange-games
└── phaser-ads
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── build
│ ├── phaser-ads.d.ts
│ ├── phaser-ads.js
│ ├── phaser-ads.js.map
│ └── phaser-ads.min.js
├── package.json
├── tsconfig.json
├── tslint.json
└── vendor
├── cocoon.d.ts
├── cordova-gamedistribution.d.ts
├── cordova-heyzap.d.ts
├── game-distribution.d.ts
└── google-ima3-sdk.d.ts
当我导入另一个模块时,我说Lodash,
import _ from 'lodash'
但是,导入PhaserAds时出现错误:
import PhaserAds from '@orange-games/phaser-ads';
Module not found: Error: Can't resolve '@orange-games/phaser-ads' in '/Users/frank/Stuff/inferno/src/states'
看来,该应用程序正在尝试从本地文件夹导入它,但我不明白为什么Lodash并非如此。难道是因为Lodash已被其他商品所必需,并且已经包含在捆绑包中了吗?
我需要在我的webpack配置中添加任何内容吗?
const path = require('path');
module.exports = {
/**
* Minimal build setup.
* Create your app bundle.
*/
entry: './src/main.js',
output: {
filename: 'bundle.js',
path: path.join(__dirname, 'public', 'assets', 'scripts')
},
/**
* Minimal development setup.
* Serves files in ./public folder.
* Refresh browser automatically when your bundle changes.
*/
devServer: {
publicPath: '/assets/scripts/',
contentBase: path.join(__dirname, 'public'),
port: 3000
},
module: {
rules: [
{
test: /\.js$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
options: {
presets: ['env']
}
}
}]
}
};
答案 0 :(得分:0)
main
的{{1}}中似乎缺少密钥package.json
,因此webpack在导入软件包时不知道要加载哪个脚本。
我认为我们无法像这样导入软件包,他们在官方文档中使用phaser-ads
标记导入了该软件包。
也许您应该向包装团队报告问题,或进行PR:p